gdb调试常用功能

一、gdb中宏定义
macro define list_entry(ptr, type, member) ((type)( (char)ptr - (unsigned long)(&((type*)0)->member)))

二、gdb中变量定位
set $i = 0
注:
操作符左右两端可以带空格;
变量以$开头,防止与被调试程序中的变量冲突

三、条件 & 循环
if ( xxx != 1 )
...
end

while( xxx != 1)
    ...
end

四、gdb调试输出到文件
有时,我们扫描core文件中的队列、map之类的全局变量,项比较多,输出到文件比较合适
方式一:
set pagination off
set logging file /tmp/xxx.log
set logging on
...
q

方式二:
将调试命令编写为脚本,然后执行如下命令
gdb -x xxx.sh ...
posted @ 2019-09-24 11:25  holidays  阅读(468)  评论(0编辑  收藏  举报