如果我运行程序并引发异常,我会被问到是否要继续或中断。
如果我选择break,我可以看到异常的来源,但是如果中断是在库或系统文件中而不是我的源文件之一(假设异常在System.pas
或Controls.pas
中)我需要使用 F8 手动步骤执行,直到它返回到我的一个文件,所以我可以看到我的代码的哪一部分导致异常。
这可能需要很长时间。
我知道我应该在我的代码中捕获较低级别的异常,但在这种情况下,它不会触及我的异常处理程序之一。
有没有办法说出来
我也对其他编译器/ IDE如何处理这个问题感兴趣。
道歉,如果我没有像我应该那样清楚地表达这一点。
答案 0 :(得分:12)
您可以使用堆栈视图窗口解决此问题。
答案 1 :(得分:5)
比列文的建议更简单。按照前面的3个步骤进行布局,但不要设置断点。
放置断点的问题在于您必须在之后清除它,否则每次通过该行时最终都会被放入调试器中。如果您只想运行到某一行,然后放入调试器一次,请将光标放在该行(插入点,而不是鼠标光标)上,然后按 F4 (运行到光标)。这就像是一次性的断点。
答案 2 :(得分:3)
有几种方法: