![]() |
1
20
从GDB 7.4开始,
跑
|
![]() |
2
12
您可以使用“until”命令,而不是选择“step”,通常按照您希望的方式进行操作:
我不知道如何将gdb永久配置为跳过某些符号(除了删除它们的调试信息)。 编辑 :实际上,gdb文档声明,在跳到不在同一帧中的位置之前,不能使用。我不认为这是真的,但如果是这样,你可以用预付款来达到同样的目的:
GDB手册的第85页定义了什么可以用作接受它们的命令的“位置”参数。只需输入“foo”就可以让它查找一个名为foo的函数,只要它能找到它,就可以了。或者,您需要输入文件名:linenum for foo,在这种情况下,您最好在foo上设置一个断点并使用continue来前进。 |
![]() |
3
2
(我认为这可能更适合作为评论而不是回答,但我还没有足够的声誉来添加评论。) 所以我也一直想在调试时忽略STL、Boost等(统称为“第三方”)文件一段时间。昨天我终于决定寻找一个解决方案,似乎最近的功能是gdb中的“skip”命令。 我发现gdb中的“跳过”功能很有用,但对我来说仍然很麻烦,因为我的程序使用了很多STL和其他“第三方”模板代码。在这种情况下,我必须将一堆文件标记为跳过。第二次这样做之后,我意识到能够跳过一个完整的目录会更有帮助——而最有帮助的是跳过一个目录和所有子目录。这样我就可以跳过,例如/usr,因为我的代码都不在那里,而且我通常对通过第三方代码进行调试没有兴趣。因此,我扩展了gdb中的“skip”命令以支持新类型的“dir”。我现在可以在gdb中这样做:
然后我再也不会在我的第三方头球中停球。 这是一个包含此信息和补丁的网页,如果它可以帮助任何人: info & patch to skip directories in GDB |
![]() |
5
1
同时,广发银行拥有
正如贾斯汀所说,它已经在GDB7.4中添加。有关详细信息,请查看 documentation . |
![]() |
rammanoj · 使用目标远程本地主机:26000 6 年前 |
![]() |
Ray · 在D中引发异常时,如何使调试器中断? 6 年前 |
![]() |
Zhou · 如何使用当前IP和BP寄存器计算出完整的调用堆栈? 7 年前 |
![]() |
Kajsa · gdb日志记录不工作 7 年前 |