跨平台崩溃处理程序

时间:2009-09-02 11:23:32

标签: c++ cross-platform crash crash-dumps postmortem-debugging

我正在寻找一个跨平台的崩溃处理程序。 Google Breakpad看起来很有希望,但它非常缺乏任何文件,并且需要合理数量的小动作来实际开始。

什么是更好的选择?

我所需要的只是能够在崩溃时可靠地记录崩溃转储,堆栈跟踪和CPU信息。或者,使用Google Breakpad的体验是什么?它是伟大的还是可怕的?

3 个答案:

答案 0 :(得分:7)

嗯,事实证明google-breakpad毕竟相当不错。设置并不是一件容易的事,但它可以满足我的需求。

答案 1 :(得分:6)

我写了一篇文章,几年前在DDJ中使用Windows和Unix / Linux在C / C ++中转储堆栈。它不使用coredump,但它会将堆栈帧写入日志文件,内部错误或OS确定应用程序故障时。

也许它可以帮到你:

请参阅http://www.ddj.com/architect/185300443

答案 2 :(得分:3)

对于已编译的代码,有两个不错的选项 - 在UNIX变体下为core dumps,在Windows下有Dr. Watson崩溃日志/转储。我知道这不是一个跨平台解决方案,但如果你只处理两个平台,那么拥有两个解决方案并不是那么糟糕。

当然,解决方案仅在崩溃时捕获核心映像,而不是机器的状态。我不知道在应用程序崩溃时会捕获IO和CPU负载的任何内容。您可能想要查看Mozilla Crash Reporter,这很奇怪,也被称为“Breakpad” ......巧合?