我在D2009中打开了一个项目(在D2007 / 08中创建),它会编译但在执行时会抛出大量异常。奇怪的是,但我知道这个项目很乱,所以我想继续修复它。好吧,并没有真正解决所有问题,只要让它工作就足够了。
当我运行它时,我得到了一些调试器异常通知(带有Break,Continue,Help按钮的小消息对话),我想继续看看是否可以在跳过异常时工作。我检查了左下角的“忽略此异常类型”复选框,然后单击继续。现在我不再获得异常通知,但应用程序仍然无法运行。我只是得到了几个模糊的错误框,并且很少知道发生了什么。
我想重新启用我之前选择忽略的异常类型。但我无法在任何地方找到这个选项。我应该在哪里寻找这个?有人可以帮忙吗?
答案 0 :(得分:17)
我在
中找到了被忽略的异常类型 (Main menu) Tools >> Options >> Debugger Options >> CodeGear Debuggers >> Language Exceptions >>
并且忽略了异常类型列表。
它比D2005更隐蔽,但与Stuart Dunkeld引用的文章中所说的非常接近。
答案 1 :(得分:8)
以下内容摘自this page on the Delphi Q&A by Rob Kennedy :( CC许可),虽然它与Delphi 2005有关但可能有所帮助。
在默认设置中,只要程序中发生异常,Delphi IDE就会通知您,如图1所示。重要的是要知道,此时程序的异常处理代码都没有运行。这都是德尔福本身;它作为调试器的特殊状态允许它获得程序中任何异常的第一个通知,甚至在程序知道它之前。
如果您不希望在发生异常时收到通知,则可以选择一些选项。
您可以使用Delphi的“高级断点”来禁用代码区域周围的异常处理。首先,在希望IDE忽略异常的代码行上设置断点。右键单击装订线中的断点点,然后打开断点属性对话框。在高级部分是一些复选框。 (参见图2.)清除“Break”框以防止调试器在该行中断您的程序,并设置“忽略后续异常”框。
然后,设置另一个断点,希望调试器继续处理异常。更改其属性以处理后续异常。
在与前一个相关的选项中,您可以告诉调试器不要中断任何异常。为此,请清除“语言例外通知”复选框。
最后,您可以完全关闭集成调试。德尔福不会通知您异常情况,也不会在断点处停止或允许使用“暂停”按钮。在调试器选项中关闭集成调试,如图5中的Delphi 2005所示。