引言
通过前几节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正是这把解决问题的利剑。帮助文档如下:
本文介绍了在调试release程序时如何利用GDB的add-symbol-file命令加载结构体定义,以方便查看结构体成员。通过实例展示了如何改造自定义命令CheckCircle,使得调试时无需手动计算成员偏移,提升调试效率。
订阅专栏 解锁全文
3809

被折叠的 条评论
为什么被折叠?



