多平台崩溃报告?

Mar*_*rin 4 c++ cross-platform exception-handling crash-reports

在c ++(windows,mac,linux)的跨平台应用程序中实现崩溃报告的最佳方法是什么?看着谷歌破解,但花了几个星期试图让socorro(UI)工作无济于事.

编辑:@Nim要清除,我想在发生异常时向我的服务器发送堆栈跟踪.

Cra*_*rks 5

当我们进行跨平台工作时(以前仅使用Windows),我们花了很多时间研究可能的工具.Google Breakpad确实是最好的跨平台解决方案.

你的问题是索科罗,它是巨大的,混淆的,令人困惑的.我可以建议两条路线:

  • 删除当前版本的Socorro,它太喜欢新的OSS玩具,如Hadoop,并回滚到Socorro 1.x. 你需要做更多的工作来设置你的处理器,你的转储将进入Postgres表,但你将有更少的移动部件和疯狂的基础设施来处理.
  • 完全忘掉Socorro并为Breakpad转储编写自己的处理器,并使用UI查看它们.Breakpad已经完成了非常艰苦的工作 - 解析符号并捕获异常 - 所以你需要编写的是收集器,转储可以上传到,一个服务器场上运行Breakpad处理器,某个地方存储处理结果,以及查看它们的内容.

知道我们现在做了什么,我们可能会选择第二种选择,而不是试图整合Socorro--我们花费时间找到适合我们的Socorro版本并使其适应我们的工作流程的时间已经超过了它我们只需要编写一个完全符合我们要求的系统.

  • 对于第二个选项,有https://github.com/atom/mini-breakpad-server (2认同)