我正在寻找一个跨平台的崩溃处理程序。Google Breakpad看起来很有希望,但它非常缺乏任何文档,并且需要进行合理的调整才能真正开始使用。
什么是更好的选择?
我所需要的只是能够在崩溃时可靠地记录崩溃转储、堆栈跟踪和 CPU 信息。或者,使用 Google Breakpad 的体验如何?它是伟大的还是可怕的?
我正在寻找一个跨平台的崩溃处理程序。Google Breakpad看起来很有希望,但它非常缺乏任何文档,并且需要进行合理的调整才能真正开始使用。
什么是更好的选择?
我所需要的只是能够在崩溃时可靠地记录崩溃转储、堆栈跟踪和 CPU 信息。或者,使用 Google Breakpad 的体验如何?它是伟大的还是可怕的?
好吧,事实证明 google-breakpad 还是很不错的。设置起来并不容易,但可以满足我的需要。
几年前,我在 DDJ 上写了一篇关于在 C/C++ 中使用 Windows 和 Unix/Linux 转储堆栈的文章。它不使用核心转储,但会在内部错误或操作系统确定应用程序故障时将堆栈帧写入日志文件。
也许它可以帮助你:
对于已编译的代码,有两个不错的选择 - UNIX 变体下的核心转储和 Windows 下的Dr. Watson崩溃日志/转储。我知道这不是一个跨平台的解决方案,但是如果你只处理两个平台,那么拥有两个解决方案并不是一件坏事。
当然,这些解决方案只捕获崩溃时的核心映像,而不是机器的状态。我不知道在应用程序崩溃时会捕获 IO 和 CPU 负载的任何东西。您可能想查看Mozilla Crash Reporter,奇怪的是,它也被称为“Breakpad” ……巧合?