Delphi:如何调试run直到你回到你的源文件?

时间:2009-04-20 10:37:11

标签: delphi delphi-2007

如果我运行程序并引发异常,我会被问到是否要继续或中断。

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

这可能需要很长时间。

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

有没有办法说出来

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

我也对其他编译器/ IDE如何处理这个问题感兴趣。

道歉,如果我没有像我应该那样清楚地表达这一点。

3 个答案:

答案 0 :(得分:12)

您可以使用堆栈视图窗口解决此问题。

  1. 打开堆栈视图窗口( CTRL + ALT + S )。
  2. 双击堆栈视图中要插入断点的方法。
  3. 打开包含调用方法的单元,光标位于调用方法上。
  4. 设置断点。

答案 1 :(得分:5)

比列文的建议更简单。按照前面的3个步骤进行布局,但不要设置断点。

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

答案 2 :(得分:3)

有几种方法:

  1. 使用“下一个源代码行”功能(Shift + F7)
  2. 使用调用堆栈并双击所需的功能,在那里添加断点并点击“运行”(F9)。
  3. 使用“Step out”(Shift + F8)功能,直到您回到自己的代码中。