C++ 跨平台碰撞处理程序

C++ 跨平台碰撞处理程序,c++,cross-platform,crash,crash-dumps,postmortem-debugging,C++,Cross Platform,Crash,Crash Dumps,Postmortem Debugging,我在找一个跨平台的碰撞处理程序。看起来很有希望,但它严重缺乏任何文档,需要相当多的修改才能真正开始 什么是更好的选择 我所需要的只是在崩溃时可靠地记录崩溃转储、堆栈跟踪和CPU信息的能力。或者,使用Google Breakpad的体验是什么?是很棒还是很可怕 几年前,我在DDJ上写了一篇关于使用Windows和Unix/Linux在C/C++中转储堆栈的文章。它不使用coredump,但在出现内部错误或操作系统确定应用程序故障时,它会将堆栈帧写入日志文件 也许它能帮助你: 请参见有关编译的代码,

我在找一个跨平台的碰撞处理程序。看起来很有希望,但它严重缺乏任何文档,需要相当多的修改才能真正开始

什么是更好的选择


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

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

也许它能帮助你:


请参见

有关编译的代码,有两个很好的选项-在UNIX变体下和Windows下的崩溃日志/转储。我知道这不是一个跨平台的解决方案,但是如果你只处理两个平台,那么拥有两个解决方案并不是件坏事


当然,这些解决方案只捕获崩溃时的核心映像,而不是机器的状态。我不知道会在应用程序崩溃时捕获IO和CPU负载的任何东西。您可能想了解一下,奇怪的是,它也被称为“Breakpad”。。。巧合?

事实证明,谷歌breakpad毕竟是相当不错的。设置起来并不完全容易,但对于我所需要的一切都可以。

这应该是多大的跨平台?gdb+coredump在x86、arm、ppc,。。。但是需要gcc工具链。不,这不是巧合-mozilla使用google breakpad作为崩溃处理程序。嗨,我似乎不知道如何构建它。任何帮助都将不胜感激——我承认,文档不是很好。我一直在努力改进它,我认为它现在好了一点,请看:它是一个非常有用的库,附带了很多生产软件,所以它做得很好。我知道它很旧,但我在文章中看不到Unix/Linux版本。有没有后续的somwhere?嗯,我现在看到了(有一些与POSIX兼容的源代码示例)