gdb program pid: 调试已经在运行的程序,挂到上面
bt:显示堆栈信息
x/nbx : x/7bx input 表示查看变量input开始的7个内存单元内容
finish:运行到当前函数结尾
info symbol
0x807a505 : 查看当前内存地址
0x807a505所指向的函数符号,此命令对查看 回调函数指针所指向的具体函数名 非常方便。
until: 跑完一个循环,到循环外的下一行
如:
-
statement1;
-
for(...)
-
{
-
statement4;
-
statement5;
-
statement6;
-
}
-
statement8;
当gdb的当前行在第6行即statement6语句的时候,使用u或者until命令,
gdb会直接执行完循环,然后跳转到8行的statement8语句,等待下一步操作
gdb打印指针所指向的结构体
-
打开设置set print pretty on
-
//答应一个结构体指针,struct foo *tmp;
-
p *tmp
-
//即可显示漂亮的带缩进的结构体内容
-
//若想关闭,设置如下
-
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) |