client_2233 发表于 2021-1-4 21:17:04

gdb如何调试???

新人,刚接触指针,用linux,但不会用gdb,求帮忙,谢谢!!!

jackz007 发表于 2021-1-4 21:30:56

本帖最后由 jackz007 于 2021-1-4 21:33 编辑

      这要看阁下具备的基础和实力水平了,比如说,只有大学毕业了才适合学硕士生的课程,用 gdb 调试程序,最好具有精通汇编语言和在 DOS 下使用 debug 的经验和能力。有了这些知识背景,可以帮助你更好地理解把握调试器。

kishere 发表于 2021-1-5 11:32:32

本帖最后由 kishere 于 2021-1-5 11:37 编辑

GDB应该不需要精通汇编吧...
下面贴下我的笔记

编译时使用 :
gcc test.c -g -o app
让程序带有调试信息
然后打开程序 :
gdb app
显示代码
l
list
两个都可以
默认显示main函数所在的文件
查看默认显示行数
设置默认显示行数为20行
show list size
set listsize 20
显示第5行前后的代码
l 5
显示TestFunc函数的内容
l TestFunc
显示add.c中第15行附近的内容
l add.c:15
在12行下断点
在add文件12行下断点
在add文件的TestFunc函数下断点
b 12
break 12
b add:12
b add:TeatFunc
在12行下断点, 断点在i=10时才生效
b 12 if i==10
查看断点
infor b
i b
删除第一个断点
删除第1 2 3 个断点
删除第4-第7个断点
del 1
d 1 2 3
d 4-7
设置第1个断点为无效断点
设置第1个断点为有效断点
dis 1
ena 1
查看变量i的值
p i
next
n单步调试
step 会进入函数体
next 不进入函数体
setp
继续运行, 直到遇到下一个断点
c
continue

GDB讲道理还是很好用的, 特别是有大量循环的时候, 可以在变量到达指定值时才命中断点
页: [1]
查看完整版本: gdb如何调试???