【发布时间】:2010-03-03 09:04:17
【问题描述】:
我正在尝试在 VS 2005 中调试 C++ 项目。
在调试模式下,我怎样才能找到执行的上一行。?即考虑控制在第 5000 行。我怎样才能找到在到达第 5000 行之前执行的前一行。实际上涉及的 goto 语句很少。调用堆栈只是显示之前调用的函数。
虽然我知道使用 goto 不是一个好习惯,但这是我正在调试的现有项目。提前致谢。
【问题讨论】:
标签: visual-studio-2005 debugging
我正在尝试在 VS 2005 中调试 C++ 项目。
在调试模式下,我怎样才能找到执行的上一行。?即考虑控制在第 5000 行。我怎样才能找到在到达第 5000 行之前执行的前一行。实际上涉及的 goto 语句很少。调用堆栈只是显示之前调用的函数。
虽然我知道使用 goto 不是一个好习惯,但这是我正在调试的现有项目。提前致谢。
【问题讨论】:
标签: visual-studio-2005 debugging
此信息已丢失。您应该单步执行代码或添加日志记录以了解执行了哪些行。
【讨论】:
如果您通过 goto 或跳转(而不是通过调用)到达 5000 行,则没有关于您来自何处的记录。您只需要返回并跟踪代码并在它跳转到第 5000 行时观察它。
【讨论】:
如果你可以重新编译源代码(我猜你可以,因为你有调试信息)你可能想在代码中添加对OutputDebugString的调用,每个都有不同的文本位 - 例如在每个标签和每个转到。
这样当你的行被命中时,你可以检查哪些消息被转储到输出窗口以找到执行路径。
【讨论】: