gdb用法

扫码查看
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


10-16 06:05
查看更多