代码之家  ›  专栏  ›  技术社区  ›  Peter Perháč

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

  •  23
  • Peter Perháč  · 技术社区  · 16 年前

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

    当我运行它时,我收到了一些调试器异常通知(带有中断、继续、帮助按钮的小消息对话框),我想继续,看看跳过异常时是否可行。我选中了左下角的小“忽略此异常类型”复选框,然后单击了“继续”。现在我不再收到异常通知,但应用程序仍然无法运行。我只收到几个模糊的错误框,对发生了什么几乎一无所知。

    2 回复  |  直到 16 年前
        1
  •  8
  •   stuartd saeed    8 年前

    我在中发现了被忽略的异常类型

    (Main menu) Tools >> Options >> Debugger Options >> CodeGear Debuggers >> Language Exceptions >>

    它比D2005更隐蔽,但与@stuartd引用的文章中所说的非常接近。

        2
  •  17
  •   Peter Perháč    16 年前

    this page on the Delphi Q&A by Rob Kennedy

    enter image description here

    如果您不想在发生异常时收到通知,您有几个选择。

    • 您可以使用Delphis高级断点来禁用代码区域周围的异常处理。首先,在希望IDE忽略异常的代码行上设置一个断点。右键单击排水沟中的断点点,打开断点属性对话框。在高级部分有一些复选框。(见图2。)清除Break框以防止调试器在该行中断程序,并设置Ignore后续异常框。

    enter image description here

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

    enter image description here

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

    enter image description here