GDB断点调试

用gdb进行断点调试

进入GDB ——gdb test 
查看文件——l
设置断点 ——b 6 
查看断点处情况 ——info b 
运行代码 ——r 
查看变量值 ——p n / p i
观察变量 ——watch n 
单步运行 ——n
程序继续运行 ——c
退出GDB ——q

以gbs.c为例
1、 将要编译的文件编译成可执行文件要加-g参数
gcc -g gbs.c -o gbs

Paste_Image.png

2、gdb gbs对生成的可执行文件进行gdb调试,同时进入gdb

Paste_Image.png

3、可以进行查看源码 l 命令

Paste_Image.png

4、设置断点,可以查看程序运行到某一行的情况,可以查看变量的值、堆栈情况等 命令格式 b 行号

Paste_Image.png

5、查看断点处情况  (gdb) info b

Paste_Image.png

6、运行代码  (gdb) r 运行第六行代码

Paste_Image.png

7、显示变量值  (gdb) p n
  在程序暂停时,键入"p 变量名"(print)即可;
8、观察变量  (gdb) watch n
在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点;

9、单步运行  (gdb) n

10、程序继续运行  (gdb) c

使程序继续往下运行,直到再次遇到断点或程序结束;

11退出GDB  (gdb) q

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原...
    Manfred_Zone阅读 16,648评论 0 26
  • [转]浅谈LLDB调试器文章来源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc阅读 7,410评论 2 6
  • 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! gdb 简介 gdb ...
    登龙zZ阅读 12,181评论 1 15
  • 今晚我们不谈诗 谈人生吧 谈你的刻意与避免 恶心与冷贱 今晚我们不看月亮 看这盏路灯的投影 它黑的 就像当初熬夜的...
    黄泡泡嘿阅读 656评论 0 0
  • 同样的问题,一千个人回答,可能有100个答案。 是的,是100个,而不是1000个,因为那900个人没有思考。他们...
    安之腾阅读 8,468评论 21 26