程序异常捕获库 – CrashRpt

    From: xuyibo.org  Updated: 2020-12-26

    CrashRpt SDK 1.1.309Size:103 KB   Date:2009-12-26   Downloads:473
    邮件通知当更新时自动发送邮件通知。
    评论本文有什么建议或评论,可以贴一下。
    我要捐助你的支持,让我们做的更好。

    CrashRpt.dll用来在应用程序出现异常crash时,捕获到错误,并收集出错信息:MiniDump文件、硬件信息、系统信息、出错信息、进程信息、服务信息、驱动信息、启动信息、软件列表、端口信息、磁盘分区、WinSock LSP、IE插件、网卡信息。

  1. 使用方法
  2. 主程序入口调用InitializeCrashRpt,可以参考sdk中simpledemo。

    用法1:最简单方式
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { // 先初始化CrashRpt.dll异常捕获库 InitializeCrashRpt(); char* p = NULL; // NULL pointer access error! *p = 1; return 0; }
    用法2:自定义出错后行为
    BOOL WINAPI MyCrashProc(PEXCEPTION_POINTERS Exception) { MessageBox(NULL, "我靠,出错了!", "", MB_OK|MB_ICONERROR); // 生成错误时系统快照 GenerateCrashRpt(Exception, "c:\error.xml", CRASHRPT_ERROR|CRASHRPT_SYSTEM|CRASHRPT_PROCESS);//CRASHRPT_ALL); // 生成minidump.dmp,这个可以用vc或者windbg打开分析 GenerateMiniDump(Exception, "c:\minidump.dmp"); // 用ie打开系统快照 ShowCrashRpt(NULL, "c:\error.xml"); // 发送邮件 SendMail(NULL, "c:\minidump.dmp", "bug feedback", "[email protected];[email protected]"); return EXCEPTION_EXECUTE_HANDLER; } int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { // 先初始化CrashRpt.dll异常捕获库 InitializeCrashRptEx(MyCrashProc); char* p = NULL; // NULL pointer access error! *p = 1; return 0; }
  3. 截图
  4. SDK文件说明
  5. CrashRpt.h      头文件,编译时需要include这个文件
    CrashRpt.lib    导入库,链接时需要这个文件
    CrashRpt.dll    动态库,程序发布时需要这个文件
    simpledemo      最简单的例子
    multithreaddemo 多线程下试用例子
    customdemo      自定义出错后行为的例子
    

  6. 相关文章
  7. 注册表API简易教程
    MAPI MAPISendMail
    轻量级的浏览器控件HTMLLITE
    在XP下使用Link控件
    我的电脑软配置
    让你的程序支持脱拽
    背景透明的按钮

  8. 评论本文:
  9. EMail: