鱼C论坛

 找回密码
 立即注册
查看: 1509|回复: 2

[已解决]gdb如何调试???

[复制链接]
发表于 2021-1-4 21:17:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
新人,刚接触指针,用linux,但不会用gdb,求帮忙,谢谢!!!
最佳答案
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讲道理还是很好用的, 特别是有大量循环的时候, 可以在变量到达指定值时才命中断点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-4 21:30:56 | 显示全部楼层
本帖最后由 jackz007 于 2021-1-4 21:33 编辑

      这要看阁下具备的基础和实力水平了,比如说,只有大学毕业了才适合学硕士生的课程,用 gdb 调试程序,最好具有精通汇编语言和在 DOS 下使用 debug 的经验和能力。有了这些知识背景,可以帮助你更好地理解把握调试器。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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讲道理还是很好用的, 特别是有大量循环的时候, 可以在变量到达指定值时才命中断点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-2 03:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表