gdb调试常用功能

Posted holidays

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 ...

以上是关于gdb调试常用功能的主要内容,如果未能解决你的问题,请参考以下文章

GDB调试技巧:常用命令

gdb调试常用方法介绍

Ubuntu 16.04下GDB调试

gdb调试

GDB 第三讲

使用 GDB 调试多进程程序