gdb调试经常使用功能

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

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

3、条件 & 循环
if ( xxx != 1 )
...
end队列

while( xxx != 1)
    ...
end

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

方式二:
将调试命令编写为脚本,而后执行以下命令
gdb -x xxx.sh ...