简单的崩溃报告?

Pri*_*rix 7 c# crash-reports

我正在考虑在我的应用程序上实现一个简单的崩溃报告,该报告将询问用户是否要将崩溃日志发送给我们.

我之前从未做过崩溃报告,我以前做的是尝试/捕获将错误保存到日志文件.

  1. 实施崩溃报告系统的正确方法是什么?

  2. 当应用程序崩溃或发送数据的正确approch是什么时,如何触发崩溃报告以打开并发送转储?

我认为以上是我最大的疑问,它是如何工作或应该工作的...我不完全确定崩溃报告是否是上述发生时触发的外部应用程序尝试/捕获的互动或者是什么正确的方式来遵循它.

我没有SQL Server可用,所以我打算使用的是一个简单的上传脚本,报告转储的应用程序将用于发送数据.

请原谅我对崩溃报告如何运作的无知,我希望社区可以帮助我更好地理解它.

我正在搜索崩溃报告,看到大多数事情围绕Crystal Report,准备去图书馆等,但我想从小做起,所以我可以更好地理解它,然后再深入研究一些大型图书馆或其他解决方案在我的最后.

Mit*_*eat 6

您是否考虑过使用内置的Windows错误报告

您可以使用Winqual网站查看与您的组织相关的特定于驱动程序,特定于应用程序或操作系统的错误.每个错误报告都提供与该存储桶相关的详细信息,然后您可以请求关联数据的文件.

要查看错误报告:

  1. 建立Winqual帐户.为了保护公司免受冒充,并确保将错误报告发送给正确公司的代表,Winqual网站要求贵公司拥有有效的VeriSign ID.

•咨询您的法律部门; 您的公司可能已经拥有VeriSign ID(也称为Software Publisher的Authenticode数字ID).•检查Winqual以查看您的公司是否已拥有帐户.

  1. 接受Windows错误报告协议.

  2. 登录Winqual网站.

  3. 单击Windows错误报告.

这篇旧文章可能很有趣:一个简单的类来捕获WinForms中未处理的异常


Jer*_*Gee 4

很大程度上取决于应用程序以及(特别是)用户预期的隐私问题。

假设这是一个在用户 PC 上运行的客户端应用程序,如果这是一个“Intranet”内部应用程序,那么让应用程序在退出时通过电子邮件将日志文件发送给您应该非常简单。

这可能非常有趣,因为有时您会在用户报告错误之前修复该错误。

或者,如果您担心应用程序可能崩溃并且无法正确捕获未处理的异常,您可以

  1. 启动时,写入一个注册表项(或虚拟文件项,或其他什么)来标记“应用程序未正确终止”
  2. 在干净退出时,清理注册表项(或您拥有的东西)
  3. 启动时,检查注册表项(等)是否存在。

如果该标记存在,那么您就知道该应用程序以不干净的方式崩溃了,因此您可以用文本提示用户,例如“上次运行此程序时,它似乎没有正确退出。您想发送一个吗?”记录发生在我们身上的事情,以便我们可以尝试解决可能发生的任何问题?”