码迷,mamicode.com
首页 > 数据库 > 详细

gdb调试小结

时间:2017-08-31 22:17:51      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:step   退出   http   修改   开始   ignore   语句   启动   tar   

一、启动调试

 测试程序

  1 #include<iostream>
  2 using namespace std;
  3 class AA
  4 {
  5     void f(){}
  6 };
  7 int main()
  8 {
  9     cout<<sizeof(AA)<<endl;
 10     AA a;
 11     cout<<sizeof(a);
 12     return 0;
 13 }

g++/gcc 命令加-g表示使用了gdb调试:

技术分享

 file+生成的可执行文件(test):导入调试文件

技术分享

 

二、常用调试命令(断点调试)

r 开始执行(run),如果有断点则直至第一个断点(break)

技术分享

b 设置断点

b num(行号)

技术分享

b function(函数名)

技术分享

tb 断点位置 设置临时断点(只生效一次)

技术分享

i b 检查断点信息

b 断点位置 if 条件  设置条件断点

ignore bnum count 表示接下来的count编号为bnum的断点忽略。

d 断点编号 删除断点(delete)

技术分享

c 断点之后继续执行到下一个断点(continue)

n 单步运行(next)

s 进入函数(step) 

finish 执行至退出函数

start 停留在main函数的第一条语句

p 参数 打印参数信息

info 文件/函数 文件/函数信息

技术分享

 三 、设置观察点

修改了一下测试文件

  1 #include<iostream>
  2 using namespace std;
  3 class AA
  4 {
  5     void f(){}
  6 };
  7 int main()
  8 {
  9     int b=1;
 10     for(int i=1;i<10;i++)
 11         b++;
 12     cout<<sizeof(AA)<<endl;
 13     AA a;
 14     cout<<sizeof(a);
 15     return 0;
 16 }

 watch 观察点 (遇到变量值变化,程序就会停下来)

 i watch 查看观察点

d 序号 删除观察点

技术分享

 四、退出

 q

技术分享

 

gdb调试小结

标签:step   退出   http   修改   开始   ignore   语句   启动   tar   

原文地址:http://www.cnblogs.com/kiplove/p/7460646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!