gdb 调试笔记

1. 合理利用watch硬件断点(很慢)

用途:用于检测内存是否什么时候被修改

举例:先前修改编译器,导致程序跑飞

方法:

1)用常规调试确定,到底哪个函数的栈出错

2)用watch跟踪出错函数的返回地址


2. 合理利用ignore和断点

用途:用于识别寻找出错的实例

举例:编译某个程序,包括200多个函数,出现段错误;根据堆栈信息,知道函数名;函数名用string对象实现,不方便条件断点(?不确定)

方法:

1)在出错的代码处加入断点

2)调试用continue,知道出现段错误异常

3)使用info break,可以获得该断点的命中次数n

4)restart重新运行到断点

5)ignore该断点n-1次

6)开始单步调试

发布了41 篇原创文章 · 获赞 8 · 访问量 17万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章