简单学习了一下如何使用gdb调试C程序,发现还是很强大的。以下针对Ubuntu环境,记录如下。

编写一个示例程序:

GDB调试C程序入门

编译程序,加上-g选项:

GDB调试C程序入门

启动gdb:

GDB调试C程序入门

或者

GDB调试C程序入门

养成查看帮助的好习惯:

GDB调试C程序入门

GDB调试C程序入门

列出程序代码内容:

GDB调试C程序入门

直接回车表示执行与上一个命令相同的命令。gdb的很多命令都有简写形式,l表示list,还可以列出某个函数的内容:

GDB调试C程序入门

一次列10行。。。

设置断点:

GDB调试C程序入门

查看断点:

GDB调试C程序入门

禁用断点disable breakpoints 断点号;删除断点disable breakpoints 断点号。断点号就是info查看显示的编号:

GDB调试C程序入门

执行程序,在断点处会停下来:

GDB调试C程序入门

设置观察点,如果有变化,马上停住程序

GDB调试C程序入门

显示变化:

GDB调试C程序入门

执行下一条指令:

GDB调试C程序入门

查看某变量的值:

GDB调试C程序入门

continue继续执行,直到遇到断点或程序结束;finishe执行完当前的函数;bt打印当前执行环境的函数调用栈:

GDB调试C程序入门

相关文章: