【问题标题】:Compare Delphi Exception Handlers比较 Delphi 异常处理程序
【发布时间】:2010-12-28 06:12:36
【问题描述】:

您如何比较 MadExceptEurekaLog 作为 Delphi 应用程序的异常处理程序?

为什么你会选择一个而不是另一个?

除了这两个之外,还有其他需要考虑的 Delphi 异常处理程序吗?


答案在 Smasher 和 Mark 之间,他们在比较中都有很好的信息,但最终选择了一个和另一个。所以这是一个折腾 - 我把答案给了 Smasher,只是因为他是两个人中第一个回答的人。

【问题讨论】:

    标签: delphi


    【解决方案1】:

    在决定使用 EurekaLog 之前,我们确实比较了这两者。它看起来更具可配置性,并且似乎拥有更专业的支持。到目前为止,关于 EurekaLog 没有什么不好的。它工作得很好,并且按照您喜欢的方式进行设置和配置并不难。

    【讨论】:

    • 我们正在生产 Eurekalog。对我们来说效果很好。发送带有堆栈跟踪和整个 shebang 的自动错误报告。
    【解决方案2】:

    比较两者后,我选择了 MadExcept。当时(大约 5 年前)有一些对我来说很重要的差异,但现在查看他们的网站,似乎功能差异不再存在。

    影响我的项目之一是 Madshi 网站上的 Stack Tracking methods。我以前工作的一家公司有一个用于 VB6 的自定义执行对象。我看到了他们所经历的一些痛苦,我的印象是 Madshi 是一个非常聪明的人,他知道自己在做什么。

    我确实继承了一个使用 EureakLog 的项目,并且实际使用了大约 2 年。最后,我将该项目转换为使用 MadExcept。我对它更满意,并且更喜欢 MadExpect 错误报告。

    我在 Madshi 论坛上获得了非常好的支持 - 有时是 Madshi 本人的回答。如果你看一看你会发现他在那里非常活跃。

    我查看了 JCL 的东西,但 MadExcept 和 EureakLog 都非常便宜、专业且运行良好,以至于我在选择 MadExcept 之前都没有三思而后行。

    【讨论】:

    • 我认为 EurekaLog 有更多的功能,并且 GUI 比 MadShi madExcept 更精致,但它也非常有问题。对 EurekaLog 的支持也很差。下次升级时我会考虑 MadShi。
    • 我们实际上尝试了 MadExcept。第一印象很好。但后来我们发现它不支持来自 inc 文件的调用堆栈。这是我们的要求。
    【解决方案3】:

    我们是一个使用 JCL 来捕获异常并使用调用堆栈将它们记录到日志文件的团队。 它工作正常。

    【讨论】:

    • 而且它是免费和开源的。这也意味着,如果您愿意,您可以完全更改异常对话框的外观。 sourceforge.net/projects/jcl
    • 有趣。是否有任何很好的示例或描述说明如何仅出于此目的将 JclDebug 和 JclHookExcept 一起使用?
    • 添加 JCL 附带的 ExceptionDialog 单元并打开足够的调试信息就可以了。 JclDebug 可以使用不同的调试信息源,包括内部和外部。见gnegg.ch/2002/12/jcldebug
    • 有趣!当前在我们的应用程序中使用的框架是由以前的雇员编写的。我们只是使用它,从不改变它的工作原理。缺点是我们必须在打开调试信息的情况下编译它。关闭 debuginfo 并使用映射文件代替 JCL 并在异常时生成调用堆栈是否同样有效?
    • 是的,像地图文件这样的外部文件或 jcl 自己的外部调试格式也足够了。
    【解决方案4】:

    JCL 有自己的异常处理程序,它当然是免费的,而且非常好。

    【讨论】:

    • 它是 JCL,而不是 JVCL(没有关于异常框架的 视觉
    • 你能用 EurekaLog 和 madExcept 做一个非常简短的比较吗?
    • JCL Debug 似乎没有独立的 GUI 来配置该工具。 blog.dummzeuch.de/2014/03/08/using-jcldebug
    【解决方案5】:

    还有 JclDebug,绝地代码库的一部分。我不知道它与 MadExecpt 和 EurekaLog 相比如何,因为我从未使用过这两者。

    【讨论】:

      【解决方案6】:

      在一个非常大的项目中,我尝试了两种试验,并且我能够在第一次尝试时使用 MadExcept 进行编译,而使用 EurekaLog 编译失败。顺便说一句,我的同事可以同时编译,所以这是一个与机器相关的问题。顺便说一句,它们具有类似的良好功能,这是每个公司都必须具备的。

      【讨论】:

      • 是的。 EurekaLog 比 madExcept 更容易出错。
      • 我们终于采用了 EurekaLog,即使我现在记不起原因了,但多年来它帮助我们找到了许多错误的原因,例如 Access Violations。这是一个非常有用的工具。我不喜欢的唯一一点是它有时不起作用(例如,一些访问冲突错误没有被记录,并且应用程序的行为就像 EurekaLog 处于非活动状态)。总的来说,使用 Delphi 必须使用异常记录器!
      • 是的。这也是我观察到的。他们修复了许多错误,但在每个新版本中都引入了相同的数量。如果您想报告错误,支持简直是粗鲁。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 2011-02-03
      • 2019-05-25
      • 2020-05-17
      • 2014-12-22
      相关资源
      最近更新 更多