Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1126123
  • 博文数量: 188
  • 博客积分: 1156
  • 博客等级: 少尉
  • 技术积分: 2173
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-16 15:01
个人简介

go!go!go!

文章分类

全部博文(188)

文章存档

2024年(2)

2023年(11)

2022年(13)

2021年(15)

2020年(38)

2019年(3)

2018年(6)

2016年(1)

2015年(16)

2014年(13)

2013年(24)

2012年(46)

分类: LINUX

2012-02-28 15:04:05

gdb program pid: 调试已经在运行的程序,挂到上面

bt:显示堆栈信息

x/nbx : x/7bx input 表示查看变量input开始的7个内存单元内容

finish:运行到当前函数结尾

info symbol 0x807a505 : 查看当前内存地址0x807a505所指向的函数符号,此命令对查看 回调函数指针所指向的具体函数名 非常方便。

until: 跑完一个循环,到循环外的下一行
如:
  1. statement1;
  2. for(...)
  3. {
  4. statement4;
  5. statement5;
  6. statement6;
  7. }
  8. statement8;
当gdb的当前行在第6行即statement6语句的时候,使用u或者until命令,
gdb会直接执行完循环,然后跳转到8行的statement8语句,等待下一步操作


gdb打印指针所指向的结构体
  1. 打开设置set print pretty on
  2. //答应一个结构体指针,struct foo *tmp;
  3. p *tmp
  4. //即可显示漂亮的带缩进的结构体内容
  5. //若想关闭,设置如下
  6. set print pretty off


生成core文件

ulimit -c unlimited


gdb调试squid 时

gdb squid   -p

出现

Program received signal SIGPIPE, Broken pipe.


需要屏蔽掉该信号,方能继续调试:

handle SIGPIPE nostop


阅读(2005) | 评论(0) | 转发(0) |
0

上一篇:Squid 编译comm.c失败

下一篇:svn用法

给主人留下些什么吧!~~