6

如果我运行一个程序并引发异常,系统会询问我是要继续还是中断。

如果我选择 break 我可以看到异常来自哪里,但如果 break 在库或系统文件中而不是我的源文件之一(假设异常在System.pasor中Controls.pas)我需要手动执行执行,F8直到它返回到我的一个文件,所以我可以看到我的代码的哪一部分导致了异常。

这可能需要很长时间。

我知道我应该在我的代码中捕获较低级别的异常,但在这种情况下,它没有遇到我的异常处理程序之一。

有没有办法说

  • 继续执行,直到到达文件 X 或
  • 直到您回到项目特定文件。

出于对其他编译器/IDE如何处理这个问题的普遍好奇,我也很感兴趣。

抱歉,如果我没有尽可能清楚地说明这一点。

4

3 回答 3

12

您可以使用Stack View窗口解决此问题。

  1. 打开堆栈视图窗口 ( CTRL++ ALT) S
  2. 双击堆栈视图中要插入断点的方法。
  3. 包含调用者方法的单元打开并且光标定位在调用者方法上。
  4. 设置断点。
于 2009-04-20T10:42:31.843 回答
5

还有比 Lieven 的建议更简单的方法。按照他布置的前 3 个步骤进行操作,但不要放置断点。

放置断点的问题是您必须在之后清除它,否则每次通过该行时您最终都会进入调试器。如果您只想运行到某一行然后拖放到调试器一次,请将光标放在该行(插入点,而不是鼠标光标)上,然后按F4(运行到光标)。这就像一个一次性断点。

于 2009-04-20T12:44:14.203 回答
3

有几种方法:

  1. 使用“下一个源代码行”功能(Shift+F7)
  2. 使用调用堆栈并双击您需要的函数,在此处添加断点并点击“运行”(F9)。
  3. 使用“Step out” (Shift+F8) 功能,直到您回到自己的代码中。
于 2009-04-20T10:43:50.357 回答