pho*_*oad 1 c# c++ crash-reports crash-dumps windows-error-reporting
在一些项目中,我使用 MiniDump 生成函数来生成转储。
可以生成这些转储并将它们从机器复制到某些开发/测试机器并进行分析。
当 Windows 上的程序失败时,会显示一个表单,说明您是否要提交崩溃信息。还可以在我们的代码中添加一些函数来启用此功能。
但是转储将被发送到微软的 Watson 服务器吗?
我想知道是否可以在我们的代码中编写这些 WER 启用函数并更新 CorporateWERServer 属性,以使错误转发到我们的服务器而不是 Microsoft。
因此,当我们的应用程序崩溃时,我们可能会使用 Microsoft 已经实现的功能自动收到通知。此外,Linux 端是否有类似的实用程序可供程序员在这种情况下使用。
我已经使用了这两种机制。我通过阅读有关如何编写自己的未处理异常过滤器的文章开始“滚动自己的”崩溃报告系统。我什至让该过程收集有助于诊断问题的其他文件。结果被压缩并通过 http 传输到公司服务器。与滚动您自己的解决方案相比,WER 有一些优势(例如,为您收集故障转储、统计分析、自动响应等),因此,我的公司决定尝试一下。我们使用 WER 已经有几年了,有过一些成功,也有过一些失败。WER 的支持非常糟糕。我们无法再获取附加文件作为崩溃报告的一部分。因此,我们决定寻找替代解决方案。虽然数量不多,但我们确实找到了BugSplat,并且给我们留下了深刻的印象。这个故事的寓意是,在决定其中一种方式之前,请确保您知道自己对这样一个系统的期望。