GDB调试技巧实战--为release程序引入结构体定义

引言

通过前几节blog,相信大家在调试release程序时也有个不爽的地方:没有结构体的定义,完全靠offset去找某个结构体成员,实在不便。

本节我将解决这个不便。

预览效果

(gdb) source checkCircleAddSymbol.py
(gdb) CheckCircle jobhead jobentry.o JobEntry
add symbol table from file "jobentry.o" at
        .text_addr = 0x0
{jobid = 0, next = 0x7ffdf6dec6c0}
{jobid = 1, next = 0x7ffdf6dec6d0}
{jobid = 2, next = 0x7ffdf6dec6e0}

为GDB加载符号(结构体定义)

gdb命令add-symbol-file正是这把解决问题的利剑。帮助文档如下:

(gdb) help add-symbol-file
Load symbols from FILE, assuming FILE has been dynamically loaded.
Usage: add-symbol-file FILE ADDR [-s  

你可能感兴趣的:(GDB技巧,linux,gdb,链表,python,调试)