C语言查缺补漏(十四)gdb的使用

忽略点十四:gdb的使用

​ 在Linux系统下如果想要调试一个项目,我们应该怎么做?

​ 有些童鞋可能会说:IDE呀!

​ 没毛病老哥~非常标准的答案。除此之外,我们还可以使用gdb,为什么使用gdb,它有什么优势呢?它可以在终端下使用,它短小精悍,功能强大~

​ 嗯嗯嗯,我就是这样说服自己的~

​ 要注意!!使用gdb前,我们在编译项目文件时需加-g作为一个编译参数(否则你将看不见函数名、变量名,而只能看到运行时的内存地址),再通过gdb运行可执行文件,例:

gcc -o program -g main.c
gdb ./program

​ 执行完上述命令,会看到关于 gdb 的说明和如下所示的调试命令行:

(gdb)

​ 关于gdb的基本使用:

​ ——输入l(list 首字母)gdb 会列出10行代码,l后可加参数代表从第参数行开始列出(例如希望列出第 2 到11行时,我们可以写l 2

​ ——输入b(breakpoint首字母),表示设置程序运行的断点,程序运行到断点处就会暂停运行。b后既可以加函数名作参数,使程序在调用某函数时暂停;也可以加行号作为参数,使程序在运行至某一行时暂停。

​ ——输入r(run 首字母),程序会开始运行,并在第一个断点处暂停

​ ——运行暂停时,输入p 表达式(print 的首字母) 表示在当前断点处运行该表达式并查看它的值。例如p ++age[0]表示我们希望让age[0]自增并查看自增后的值(表达式会对之后程序运行造成影响)

​ ——运行暂停时,输入n(next 的首字母)程序会执行暂停位置后的下一条语句并再次暂停

​ ——运行暂停时,输入c(continue 的首字母)程序会继续执行到下一个断点处并暂停(如果没有断点就会执行直到结束)

​ 以上就是gdb的简单用法,具体用法请参考官方文档~

转载请注明出处!!!

如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢!

猜你喜欢

转载自blog.csdn.net/Ivan_zcy/article/details/82954469