AI查询了一波GDB的使用,发现基础的命令还是很够的,不过给的都是全称,实际使用时都是用首字母查询问题的。
gdb是GNU调试器,是一种基于命令行的调试工具,可以用于调试C、C++、Fortran、Assembly等编程语言编写的程序,并支持多种操作系统。gdb的使用可以帮助程序员快速发现程序中的问题并进行修复。
以下是gdb的详细使用方法:
- 编译程序时添加调试信息
在编译程序时,需要通过在命令行中添加“-g”选项来生成调试信息。例如,使用gcc编译C程序:
gcc -g -o program program.c
- 启动gdb
使用以下命令启动gdb:如果程序有自己的启动命令,可以添加对应的完整命令
gdb program
其中“program”是要调试的程序的可执行文件名。
- 设置断点
在需要监视的代码行上设置断点,当程序运行到断点时会停止执行。使用以下命令在第10行设置断点:断点可以加上文件的名字和行号
break 10
也可以在指定的函数或文件中设置断点。例如,在函数“myfunc”中设置断点:
break myfunc
- 运行程序
使用以下命令运行程序:这一步很关键,只有运行起来,程序走到断点的位置才会触发,和windows 开发工具中的单独断点调试类似。
run
程序会运行到第一个断点处停止。
- 监视程序状态
使用以下命令监视程序的状态:
list
:显示当前代码行附近的代码。backtrace
:显示当前调用栈的状态。info locals
:显示当前作用域中的局部变量。info breakpoints
:显示当前设置的断点信息。
- 单步执行
使用以下命令单步执行程序:
step
:单步执行,进入函数调用。next
:单步执行,不进入函数调用。finish
:执行当前函数并返回到调用函数。
- 操作变量
使用以下命令操作变量:
print var
:显示变量“var”的值。set var = value
:将变量“var”的值设置为“value”。display var
:在每次停止时显示变量“var”的值。undisplay var
:停止显示变量“var”的值。
- 停止程序
使用以下命令停止程序:
kill
:终止程序运行。quit
:退出gdb。
以上是gdb的基本使用方法,使用gdb可以帮助程序员快速发现程序中的问题并进行修复。