在gdb中的<x>行执行代码?

问题描述

| 在Visual Studio中,您可以右键单击任何代码,然后选择\“ Set next statement \”,然后Visual Studio将从那里开始执行代码。当您认为\“ wait,what ?? \\”并且想要再次执行最后的代码而不必从头开始时,这非常有用。 gdb有任何类似的功能吗?例如,如果我注意到某个函数调用产生了意外的值,该如何再次进行该函数调用? 这是Mac OS X上xcode 3.2.5下的gdb。     

解决方法

使用gdb
jump
命令。更多信息在这里。 如果您只想重新执行带有某个值的函数
foo(int)
,则完全不必执行您所要求的操作。以下应该工作(在
(gdb)
提示符下):
break foo
print foo(42)
    ,感谢Employed Russian提供的链接。我也发现了这一点,尽管我没有足够新的gdb版本来使用它: http://www.sourceware.org/gdb/wiki/ReverseDebug