考虑一个函数有 10 行代码的情况,并且您正在通过 GDB 进行一步调试并且在第 6 行。你意识到第 4 行的函数调用做了一些错误,因为你在第 5 行。
假设第 4 行函数调用没有做任何剧烈的事情(无内存等),您希望在第 4 行创建 SP 点并进入该函数而不重新运行该测试用例。
我已经能够通过修改注册表来做到这一点。
我想知道的是,是否有一些 gdb 命令可以帮助我在没有手动注册表模式的情况下实现上述目标。
谢谢,
使用这里jump
描述的命令。
如果我理解正确,您想“退后一步”。GDB 从版本 7 开始支持这一点。请参阅手册、教程或相关的 Stackoverflow 主题。
只需在您需要的行上设置一个断点(使用 break 命令)并跳转到它(使用 jump 命令)。