半亩花草 发表于 2025-1-3 23:29:10

C与语言GDB调试

C语言第二十天笔记

GDB

GDB是GUN开源组织发布的一款强大的Unix/Linux下的步伐调试工具。
GDB常用命令

GDB查察源代码指令——list

体现指定位置的四周的源代码;可以通过行号、文件名、函数名以及三者之间的组合来定位指定位 置,体现代码的行数可以通过设置listsize来设定,但是该设置只是本次有效;简化命令:l
set listsize 20                  # 每次list显示指定区域的20行代码,默认10行   
show listsizelist   linenumber   # 显示 linenumber附近的代码   
list 50                            # 显示当前源文件的第50行的附近代码   
list function                      # 显示函数代码   
list test.c:30                     # 显示指定源文件的第30行的附近代码
list +/-                           # 向后/前显示源代码
list <first>,<last>                # 显示first ,last之间的内容
list 100,200                     # 显示当前源文件代码行100到200间的行
GDB查察设置——info

info registers               # 查看寄存器信息         
info frame                  # 查看栈信息(帧信息)      
infolocals                  #显示当前函数的所有局部变量名及其值      
info break/b                  #查看断点信息      
info args                     #显示当前函数的参数名及其值
info prog                     #查看调试程序的执行状态      
info files                  #显示调试文件的详细信息      
https://i-blog.csdnimg.cn/direct/a740af57e88d4192a661f5f9fde04d09.png#pic_center
https://i-blog.csdnimg.cn/direct/90ed13334249446fbae32af00001328f.png#pic_center
体现调试的代码

设置体现的行数

set listsize 20 //设置显示行数,默认10行
   
list 1/l 1 //1是起始行号
https://i-blog.csdnimg.cn/direct/46c19d4e6e0042a18753876fb6cd6c3b.png#pic_center
GDB运行步伐

run
设置调试断点

b 15 //15设置断点
https://i-blog.csdnimg.cn/direct/4dac5f37351249adad9320efefd38b70.png#pic_center
清除断点

info break                         //查看断点信息
delete break 1                 //删除编号为1的断点
clear linenum                 //清除linenum行上所有断点 clear 15
https://i-blog.csdnimg.cn/direct/4eaa4b77c6ad4e888fc300afe58c1ee3.png#pic_center
https://i-blog.csdnimg.cn/direct/c47185b84e7f4376b442fba359a84715.png#pic_center
调试代码

run
//运行步伐continue//运行到条件满意为止 查察变量值

display //变量名
退出GDB

quit/q

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: C与语言GDB调试