使用GDB进行调试时忽略标准库和boost库

时间:2011-12-07 23:34:28

标签: debugging emacs gdb

我无法谷歌找到这个问题的明确答案,所以这里有。

使用GDB逐步执行代码时是否可以忽略库?我正在尝试调试一个简单的程序,但是在这样做时我看到了很多外围设备而不是有趣的代码 - 我真的对调试标准库或boost库的archlinuxs实现不感兴趣。

当步进时,我希望GDB能够简单地运行直到它碰到我自己的代码 - 这样的过滤器可能吗?我正在使用emacs。

2 个答案:

答案 0 :(得分:2)

我想您可以注意到,在发出step命令之前,您将进入外部库函数。最简单的解决方案是在标记位于外部库的函数调用时发出next命令而不是step

答案 1 :(得分:0)

您可以strip来自您不打算调试的库中的调试符号。

strip --strip-debug <lib_file.a>

重建您的应用程序,库文件不会显示在调试器中。所以你的lib调用的“步骤”将与GDB中的“next”相同。

OR

在编译lib文件时,您也可以选择不使用-g选项。