我正在创建一个多平台的Qt应用程序,我希望崩溃报告系统在用户的计算机发生崩溃时生成崩溃报告。稍后,我应该能够查看堆栈跟踪以及崩溃报告中的所有调试信息。我已经看过google-breakpad了。
但要使用它,似乎我需要转移到MSVC for windows。现在我在windows上使用MinGW,用MSVC编译所有不同的库会花费我大量的时间和精力。有没有什么方法可以让我在使用MinGW的同时仍然可以使用google-breakpad?或者,有没有其他的替代方案,可以在多平台上工作,并支持windows上的mingw?
发布于 2014-11-17 03:44:21
除了google-breakpad,我不知道任何开放的多平台崩溃报告系统。即使google-breakpad不支持MinGW,据我所知,你仍然可以从你的应用程序中获得回溯。Project Dr. Mingw提供了很好的动态链接库: mgwhelp.dll和exchndl.dll。使用时,您需要:
将mgwhelp.dll和exchndl.dll包含在应用程序二进制文件
例如:
QFile drmingw("exchndl.dll");
if(drmingw.exists())
{// If don't want create reports just delete exchndl.dll from installer
LoadLibrary(L"exchndl.dll");
}崩溃后,你会在二进制文件所在的目录中找到带有回溯功能的文件binary_name.RPT。
我还能做什么?
发布模式下的
win32:!win32-msvc*{ #条带调试符号。
发布于 2015-03-15 06:45:05
libcrashreporter-qt“应该提供一个简单的集成到Qt应用程序中的Google Breakpad崩溃报告”。
它包含断路板的补丁,使其可以使用MinGW工具链进行构建。
发布于 2013-04-11 20:08:38
目前在Breakpad中不支持MinGW。我不认为这种情况会很快改变,除非有人贡献了这个端口,因为谷歌和Mozilla对MinGW都没有任何兴趣。据我所知,没有其他像Breakpad这样以跨平台方式工作的崩溃报告库。
https://stackoverflow.com/questions/14640700
复制相似问题