gdb调试快速入门
编译指令 gcc test.c -o test -g
-g是加入调试信息,加入源码信息
启动gdb调试 gdb test
进入gdb中
设置参数 set args 10 20
显示参数show ager
退出 q
quit
帮助 help set
查看set帮助文档
list n
显示源码,从第n行开始 一次显示十行 回车是默认上次的命令。
lsit mian
查看函数
list默认显示main函数
list file.cpp:n
查看指定文件的行号
list file.cpp:def
查看指定文件的函数
show list
显示行数
set listsize 20
改变显示行数
设置断点:
b/break 行号
b/break 函数名
b/break 文件名:行号
b/break 文件名:函数
与查看的方式类似。
查看断点:
i/info b/break
删除断点
d/del/delete 断点编号
设置断点无效
dis/disable 断点编号
设置断点生效
ena/enable 断点编号
设置条件断点(一般用在循环的位置)
b/break 10 if i==5
运行
运行GDB程序
start(程序停在第一行)
run(遇到断点才停
继续运行,到下一个断点停
c/continue
向下执行一行代码(不会进入函数体)
n/next
变量操作
p/print 变量名(打印变量值)
ptype 变量名(打印变量类型
向下单步调试(遇到函数进入函数体)
s/step
finish(跳出函数体)
自动变量操作
display 变量名(自动打印指定变量的值) 这样每次运行一步就打印一次变量
i/info display
undisplay 编号
其它操作
set var 变量名=变量值 (循环中用的较多)
until (跳出循环)
最新文章
- [bzoj3626][LNOI2014]LCA
- oracle对/dev/shm的使用
- AFNetWorking设置HTTPRequestHeaders的坑
- Android MVP + 泛型,实现了友好VP交互及Activity潜在的内存泄露的优化
- 关于H5中自定义属性的设置和获取
- python 练习 26
- python 的 class
- oracle安装—Windows7旗舰版32位安装oracle10g方法
- 安卓Android控件ListView获取item中EditText值
- SQL Server select into用法
- windows apache 配置多个服务站点
- LintCode- 删除排序数组中的重复数字
- 在IE8中如何通过javascripts改变<;style />;中的内容?
- LightOJ 1336 Sigma Function 算数基本定理
- CPUImageRGBFilter 实现
- jQuery Mobile 所有data-*选项,开发全解+完美注释
- Ubuntu下编译Bilibili/ijkplayer
- Hexo优化 | 创建sitemap站点地图并向Google提交
- Got fatal error 1236 from master when reading data from binary log: &#39;Could not find first log file name in binary log index file&#39;系列一:
- Spring生态研习【四】:Springboot+mybatis(探坑记)