问题描述
|
在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