使用GDB调试C或C++程序的基本步骤如下:
编译程序时添加调试信息
在编译时,需要添加`-g`选项以生成调试信息。例如,使用`g++ -g -o my_program my_program.cpp`来编译程序。
启动GDB
在命令行中输入`gdb`后按回车键,启动GDB并加载程序。例如,`gdb ./my_program`。
设置断点
使用`break`命令在指定位置设置断点。例如,`break main`表示在`main`函数处设置断点,`break 10`表示在第10行设置断点。
运行程序
使用`run`命令启动程序。例如,`run`或`r`。如果程序需要命令行参数,可以在`run`后面添加参数,例如`run arg1 arg2`。
检查状态
使用`print`命令查看变量的值,例如`print variable_name`。
使用`backtrace`或`bt`命令查看调用堆栈。
单步执行
使用`step`或`s`命令逐行执行代码,进入函数内部。
使用`next`或`n`命令单步执行程序,但不进入函数,直接执行到下一行。
继续执行
使用`continue`或`c`命令从当前断点处继续执行程序,直到下一个断点或程序结束。
动态修改
在程序运行时,可以使用`set variable`命令改变变量的值,验证修复效果。
退出GDB
使用`quit`命令退出GDB。
这些步骤是使用GDB调试程序的基本流程。根据具体需求,还可以使用其他GDB命令进行更深入的调试,例如设置条件断点、观察内存、进行性能分析等。