我无法谷歌找到这个问题的明确答案,所以这里有。
使用GDB逐步执行代码时是否可以忽略库?我正在尝试调试一个简单的程序,但是在这样做时我看到了很多外围设备而不是有趣的代码 - 我真的对调试标准库或boost库的archlinuxs实现不感兴趣。
当步进时,我希望GDB能够简单地运行直到它碰到我自己的代码 - 这样的过滤器可能吗?我正在使用emacs。
答案 0 :(得分:2)
我想您可以注意到,在发出step
命令之前,您将进入外部库函数。最简单的解决方案是在标记位于外部库的函数调用时发出next
命令而不是step
。
答案 1 :(得分:0)
您可以strip来自您不打算调试的库中的调试符号。
strip --strip-debug <lib_file.a>
重建您的应用程序,库文件不会显示在调试器中。所以你的lib调用的“步骤”将与GDB中的“next”相同。
OR
在编译lib文件时,您也可以选择不使用-g选项。