📌 GDB 命令 - 调试命令
🚀 从头开始使用 GDB 的流程
-
编译代码以便调试
使用-g选项编译源代码,以便生成调试信息:gcc -g your_program.c -o your_program-g选项用于在编译时包含调试符号,这样可以在 GDB 中查看源代码信息。 -
启动 GDB
使用以下命令启动 GDB 并加载你的程序:gdb your_program这将进入 GDB 调试器,并加载可执行文件
your_program。 -
设置断点
在程序中设置一个或多个断点,使程序在执行到某些特定位置时暂停:(gdb) break main # 在 main 函数处设置断点 (gdb) break 10 # 在第 10 行代码处设置断点 (gdb) break function_name # 在指定函数入口处设置断点 -
运行程序
使用以下命令运行程序,程序会在遇到断点时暂停:(gdb) run -
单步调试
n/next:执行下一行代码,不会进入函数体。s/step:单步执行代码,遇到函数调用会进入函数内部。finish:执行完当前函数,跳出函数体。
-
查看和修改变量
p/print 变量名:打印变量的当前值。set var 变量名=新值:修改变量的值。
-
查看调用栈
在程序暂停时,可以使用backtrace命令查看调用栈,了解函数调用的顺序:(gdb) backtrace -
继续运行程序
使用以下命令继续运行程序,直到遇到下一个断点:(gdb) continue -
退出 GDB
当调试结束时,可以使用以下命令退出 GDB:(gdb) quit
🚀 运行 GDB 程序
start:程序停在第一行run:遇到断点才停
▶️ 继续运行,到下一个断点停
c/continue
⏭ 向下执行一行代码(不会进入函数体)
n/next
🔍 向下单步调试(遇到函数进入函数体)
s/stepfinish:跳出函数体
🛠 变量操作
p/print 变量名:打印变量值ptype 变量名:打印变量类型
🔄 自动变量操作
display num:自动打印指定变量的值i/info display:查看所有已自动显示的变量undisplay 编号:取消自动显示
⚙️ 其它操作
set var 变量名=变量值:修改变量值until:跳出循环
📌 GDB 命令 - 启动、退出、查看代码
🔄 启动和退出
gdb 可执行程序:启动 GDB 并加载指定程序quit:退出 GDB
🎛 给程序设置参数/获取设置参数
set args 10 20:设置运行参数为10和20show args:显示当前程序的运行参数
📚 GDB 使用帮助
help:查看 GDB 使用帮助
📝 查看当前文件代码
list/l:从默认位置显示代码list/l 行号:从指定行显示代码list/l 函数名:从指定函数显示代码
🗂 查看非当前文件代码
list/l 文件名:行号:显示指定文件的代码list/l 文件名:函数名:显示指定文件的函数代码
🔢 设置显示的行数
show list/listsize:显示当前每次list命令显示的行数set list/listsize 行数:设置每次list命令显示的行数
1157

被折叠的 条评论
为什么被折叠?



