您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。