崩溃处理程序
一点历史
自第一个版本以来,TortoiseSVN 就使用了自己的崩溃处理程序。如果 TortoiseSVN 由于任何原因崩溃,会显示一个对话框,允许您将崩溃转储发送给我们。然后我们会分析这些崩溃并修复导致它们的原因。这帮助我们使 TortoiseSVN 更加稳定(别笑了,情况可能会更糟!)。
长期以来,将崩溃转储发送给我们只能通过电子邮件进行。从 1.7.6 版本开始,情况发生了变化:我们开始使用 crashrpt,它允许通过 http 发送报告。
在 1.7.6 版本之前,我们每天可能收到 4-8 份报告,而现在增加到每天 100 多份报告!我猜你们大多数人要么只使用网络邮件,要么不想从您的电子邮件帐户发送报告。通过 http 发送,这不再是一个问题,这就是为什么我们现在收到如此多报告的原因。
您可以想象,手动分析如此多的报告根本不可能。因此,从 1.7.7 版本开始,我们再次切换了崩溃报告器。但不是回到发送电子邮件的那个,而是提供更多功能的那个:drdump.com。
drdump.com
drdump.com 的崩溃处理程序不仅仅是一个客户端处理程序,还提供服务器端的自动分析。所有由相同崩溃引起的报告都会自动分组在一起,因此我们只需要分析一次崩溃的最佳转储文件,而不是每个都分析。没有这个,我们根本无法处理我们现在收到的所有报告!

而且,它不仅可以发送 minidump,如果崩溃之前没有报告过,它还可以向我们发送完整的转储。如果我们现有的 minidump 没有提供足够的信息来解决问题,我们也可以要求提供完整的转储。
另一个不错的功能是,在您发送崩溃报告后,如果您遇到的问题已被修复,您将自动被转发到我们问题跟踪器中的相应页面。在那里您可以找到更多关于您的问题的信息,并自行决定是否要下载 每夜构建版。
drdump.com 对开源项目免费开放。商业项目的定价显示在这里。如果您想了解更多关于其工作原理的信息,这里有一个不错的视频介绍了基础知识,一个更详细的描述以及关于如何将其集成到您自己的应用程序中的教程。
始终发送报告
由于我们收到了如此多的崩溃报告,我们根本没有时间分析每一个报告,这就是为什么我们依赖于 drdump.com 上的报告分组。每个发送的报告首先会被自动分析,如果相同的崩溃之前已经被报告过,则会被移动到相应的问题中。然后,该问题的崩溃计数会增加。
您可以想象,我们尝试首先修复崩溃计数最高的问题。如果您遇到崩溃,请发送报告。它将增加问题的崩溃计数,从而提高我们修复它的优先级。

即使您之前发送过报告,如果崩溃再次发生,请再次发送。因为它可能不是同一个问题,即使它看起来是。如果是,那么它将提高问题的优先级。