在Linux中使用gdb调试C程序的步骤如下:
编译程序时添加调试信息。使用gcc编译时,添加 -g
参数,例如:gcc -g program.c -o program
。
启动gdb。在终端中输入 gdb program
,其中 program
是你要调试的程序的可执行文件。
设置断点。可以使用 break
命令设置断点。例如,break main
在 main
函数的第一行设置断点,或者使用 break filename:line_number
在指定行设置断点。
运行程序。使用 run
命令运行程序。
当程序停止在断点处时,可以使用 print
命令打印变量的值,使用 step
命令逐行执行代码,使用 continue
命令继续执行到下一个断点。
当程序发生崩溃或者遇到异常时,gdb会自动停止。此时可以使用 backtrace
命令查看函数调用栈,使用 frame
命令切换到不同的栈帧,使用 print
命令打印变量的值。
在调试过程中,还可以使用其他命令如 next
(逐过程执行)、finish
(执行完当前函数并停在调用它的地方)、watch
(监视变量)、display
(每次停下来都显示变量的值)等。
结束调试,输入 quit
命令退出gdb。
这些是gdb的基本用法,你可以参考gdb的文档或者教程了解更多高级用法。