Delphi:现场应用程序错误记录

时间:2010-05-27 03:04:50

标签: delphi logging error-handling remote-debugging

使用Delphi 7,我想知道是否有一个免费组件会在我的应用程序在远程站点运行时收集诊断信息,并帮助我调试错误报告。

也许它记录了所选的每个菜单项,控制点击,文本输入等?也许它只是在崩溃时转储堆栈。也许它还有其他的东西......

我不介意添加代码(例如在每个过程的开始和结束时),因为这可能会生成比全自动系统更有用的信息。

我不确定解决方案是否应该“打电话回家”,或者是否足以生成可以通过电子邮件发送给我的文本文件。

有什么建议吗?

5 个答案:

答案 0 :(得分:12)

通过碰撞debuging看看MadExcept
http://www.madshi.net/madExceptDescription.htm

  

madExcept旨在帮助您找到软件中的崩溃。每当程序中出现崩溃/异常时,madExcept将自动捕获,分析,收集大量有用信息,并为最终用户提供向您发送完整错误报告的可能性。

     

免费用于非商业用途,商业用途便宜

来自JEDI代码库的

或JclDebug

http://www.delphi-jedi.org/

可以在此处找到关于它的博客 http://www.gnegg.ch/2002/12/jcldebug/

编辑:这似乎是如何使用JCLDebug的一个很好的例子 http://robstechcorner.blogspot.com/2009/04/finding-hard-to-reproduce-errors.html

答案 1 :(得分:8)

我使用EurekaLog http://www.eurekalog.com

它执行调用堆栈,内存内容,运行的其他应用程序,机器,操作系统,补丁等的良好描述..它可以(使用用户权限,如果配置为这样)截取屏幕截图,请求输入的用户(崩溃后你在做什么?)等。它可以通过电子邮件发送转储,发送到http,直接发布到Mantis和FogBugz等bug跟踪器,或者只是将它留在系统上。它很棒,并得到很好的支持。

此外,这是一个类似问题的链接 Compare Delphi Exception Handlers

答案 2 :(得分:4)

您是否从Project Jedi查看了开源JclDebug?这是一个nice succinct write-up on JclDebug

  

想象一下,你可以得到详细的信息   包含完整的错误报告   发生错误的地方的callstack   结合有关文件的信息   和行号。这份报告可能是   直接在用户上生成   电脑,并通过电子邮件发送给您   或直接通过互联网,使用   自定义程序 - 甚至直接   在。中创建条目   你正在使用的bugtracking-tool。

     

这个以及更多是可能的   项目JEDI - 更准确地说,   JCL-Subproject及其   JclDebug框架。当你有   完成了安装   包,一个名为的新菜单选项   将添加“Inser JCL调试数据”   到你的项目菜单   Delphi的-IDE。

答案 3 :(得分:2)

用java,Log4J编写的最着名的开源日志框架有一个很棒的delphi移植:它叫做Log4Delphi。

http://log4delphi.sourceforge.net

我下载了它,扩展并与我的项目一起成功使用。

最佳功能:开源,Apache许可,记录简单,扩展简单,电源设计:使用appender的概念,您可以构建自定义appender并使用它从远程客户计算机发送日志数据使用UDP协议到你的头部。

尝试一下,让我知道: - )

PS:该项目似乎已经停止,但它已经成熟,我使用它没有内存过载和CPU开销问题。

答案 4 :(得分:2)

log4Delphi项目已经休眠了4年,但我已被授予更新休眠Log4Delphi项目的权限,我已经将4年的错误修正和补丁汇总到Source-forge上最新的0.8版本中。我在生产中使用这个库,发现它非常稳定,可靠且易于使用。

Log4Delphi Downloads Page