步入GDB中的特定功能

Nor*_*löw 7 debugging automation gdb step-into visual-studio-debugging

GDB是否支持步进特定函数,比如说f或者g,在包含嵌套函数调用表达式的行上,例如

f(g());
Run Code Online (Sandbox Code Playgroud)

类似于Visual Studio 2010支持的内容.也许GDB脚本是解决方案?

Emp*_*ian 9

GDB是否支持单步执行特定功能

不.如果你想进入g,一个简单的step应该这样做.如果你想踏入f,做step,finish,step.

欢迎您在GDB bugzilla中提交功能请求,但我怀疑Step into Specific可以在CLI调试器中合理地实现.


Tob*_*ias 6

advance来自答案/sf/answers/79338241/的命令很有用。您可以将该命令与结合使用,print ff预先获取当前上下文中的类型。

此外,我在对您的问题的评论中已经提到,如果您不想逐步执行skip该功能,g则可以使用该功能。

见GDB-帮助的关键字advanceprintskip

至少skip-feature是相当新的。因此,也许当《俄罗斯雇佣兵》给出答案时,尚不可用。

  • 这是正确答案!`skip` 旨在解决问题所描述的确切问题。`step` 和 `finish` 选择很快就会变得乏味和累人!我将为这个答案增加悬赏金,以便它获得更多关注并为人们节省一些时间。 (2认同)
  • 这有什么更新吗?跳过命令很有用,但不是解决方案。如果有一行代码包含许多被重写的运算符之类的东西,那么到达您想要的位置就会很乏味。为什么不直接指定您有兴趣单步执行的函数呢? (2认同)