Delphi - 如何重新启用调试器异常通知?

Pet*_*háč 15 delphi debugging settings configuration exception

我在D2009中打开了一个项目(在D2007/08中创建),它会编译但在执行时会抛出大量异常.奇怪的是,但我知道这个项目很乱,所以我想继续修复它.好吧,并没有真正解决所有问题,只要让它工作就足够了.

当我运行它时,我得到了一些调试器异常通知(带有Break,Continue,Help按钮的小消息对话),我想继续看看是否可以在跳过异常时工作.我检查了左下角的"忽略此异常类型"复选框,然后单击继续.现在我不再获得异常通知,但应用程序仍然无法运行.我只是得到了几个模糊的错误框,并且很少知道发生了什么.

我想重新启用我之前选择的异常类型被忽略.但我无法在任何地方找到这个选项.我应该在哪里寻找这个?有人可以帮忙吗?

Pet*_*háč 18

我在中找到了被忽略的异常类型

(Main menu) Tools >> Options >> Debugger Options >> CodeGear Debuggers >> Language Exceptions >> 并且忽略了异常类型列表.

它比D2005更隐蔽,但非常接近Stuart Dunkeld引用的文章中所说的内容.


stu*_*rtd 10

以下内容摘自Rob Kennedy在Delphi Q&A上的这一页 :( CC许可)虽然它与Delphi 2005有关,但它可能有所帮助.

即使在我编写了异常处理程序后,为什么还要继续收到错误消息?

在默认设置中,Delphi IDE会在程序中发生异常时通知您,如图1所示.重要的是要知道,此时程序的异常处理代码都没有运行.这都是德尔福本身; 它作为调试器的特殊状态允许它获得程序中任何异常的第一个通知,甚至在程序知道它之前.

在此输入图像描述

避免通知

如果您不希望在发生异常时收到通知,则可以选择几个选项.

  • 您可以使用Delphi的"高级断点"来禁用代码区域周围的异常处理.首先,在希望IDE忽略异常的代码行上设置断点.右键单击装订线中的断点点,然后打开断点属性对话框.在高级部分是一些复选框.(参见图2.)清除"Break"框以防止调试器在该行中断您的程序,并设置"忽略后续例外"框.

    然后,设置另一个断点,希望调试器继续处理异常.更改其属性以处理后续异常.

在此输入图像描述

  • 您可以告诉调试器忽略某些类型的异常.图3显示了Delphi的语言异常选项.将一个异常类添加到列表中,该类型和任何后代类型的所有异常都将传递给您的程序,而不会影响Delphi.

在此输入图像描述

  • 在与前一个相关的选项中,您可以告诉调试器不要中断任何异常.为此,请清除"语言例外通知"复选框.

  • 最后,您可以完全关闭集成调试.德尔福不会通知您异常情况,也不会在断点处停止或允许使用"暂停"按钮.在调试器选项中关闭集成调试,如图5中Delphi 2005所示.

在此输入图像描述

  • 帮我在 Delphi 10.1 中找到它。6年,仍然有效。谢谢。 (2认同)