小编给大家分享一下CrashRpt怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
CrashRpt是一个开源的第三方包,在程序出现未处理异常时,能够收集错误信息,并生成程序错误报告。CrashRpt可以将报告按照指定的方式(例如HTTP或SMTP)发送给开发者或者保存在本地,并且可以对生成的错误报告进行分析,定位错误位置,找出错误原因。
CrashRpt开源代码主要可分为三部分:
CrashRpt:用于拦截程序没有处理的异常,生成MiniDump文件,并和使用该库指定的信息(例如日志文件和屏幕截图等)一起打包成错误报告。
CrashSender:用于将生成的错误报告按照指定方式(HTTP、SMTP或者MAPI)发送或保存。
CrashRptProbe:用于在后台接收并分析错误报告,并以文本的形式输出程序的异常信息。
下面是CrashRpt简单应用的示例代码:
// Install crash reporting CR_INSTALL_INFO info; memset(&info, 0, sizeof(CR_INSTALL_INFO)); info.cb = sizeof(CR_INSTALL_INFO); // Sizeof the structure info.pszAppName = _T("APPName"); // App name info.pszAppVersion = _T("1.0.0"); // Appversion info.pszErrorReportSaveDir = _T("Crash Report"); info.pszEmailSubject = _T("Crash Report"); // Email subject info.pszUrl = url; info.uPriorities[CR_HTTP] = 3; info.uPriorities[CR_SMTP] = 2; info.uPriorities[CR_SMAPI] = 1; info.dwFlags |=CR_INST_ALL_POSSIBLE_HANDLERS; info.dwFlags |= CR_INST_APP_RESTART; info.pszRestartCmdLine = _T("/restart"); intnInstResult = crInstall(&info); // Check result if(nInstResult!=0) { TCHAR buff[512]; crGetLastErrorMsg(buff, 512); // Get last error _tprintf(_T("%s\n"),buff); // and output it to the screen return1; } // Crash int a= 0; int b= 1 / a; // Uninstall #if defined (USE_CRASHRPT) crUninstall(); #endif return 0;
以上是“CrashRpt怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。