CrashRpt学习内容

CrashRpt是轻量级的开源错误报告库,是VS的一个工程,使用的时候只需要包含dbhelp.dll、CrashRpt.dll、Crashsender.exe三个文件在工程路径下

函数接口说明:http://crashrpt.sourceforge.net/docs/html/group___crash_rpt_a_p_i.html

typedef int( * PFNCRASHCALLBACKW)(CR_CRASH_CALLBACK_INFOW *pInfo)

发生Crash时的回调函数,用于执行简单操作,如:可设置奔溃信息收集完成后程序继续运行;关闭log文件句柄,log文件加入报告中;


int crAddScreenShot2(DWORD dwFlags,int nJpegQuality)

屏幕截屏加入错误报告中

int crAddFile2W(LPCWSTR pszFile,LPCWSTR pszDestFile,LPCWSTR pszDesc,DWORD dwFlags )

添加文件至报告所在路径中

int crExceptionFilter(unsigned int code,struct _EXCEPTION_POINTERS * ep )

可用作SHE异常过滤器

int crAddVideo(DWORD dwFlags,int nDuration,int nFrameInterval,PSIZE pDesiredFrameSize,HWND hWndParent)

记录奔溃前发生的事件,并将文件包含如报告中

int crAddPropertyW(LPCWSTR pszPropName,LPCWSTR pszPropValue )

添加字符串信息内容至报告文件中

int crAddRegKeyW(LPCWSTR pszRegKey,LPCWSTR pszDstFileName,DWORD dwFlags )

将注册中心密钥转储添加到崩溃报告中

int crEmulateCrash(unsigned ExceptionType )

模拟预先定义的崩溃信息

int crGenerateErrorReport(CR_EXCEPTION_INFO * pExceptionInfo ) 

手动生成错误报告


int crGetLastErrorMsgA(LPSTR pszBuffer,UINT uBuffSize )

获取CrashRpt上一个错误信息


DWORD dwFlags int crInstallA(PCR_INSTALL_INFOA pInfo ) 

为调用者进程安装异常处理程序


int crInstallToCurrentThread2(DWORD dwFlags ) 

为调用线程安装异常处理


int crSetCrashCallbackA(PFNCRASHCALLBACKA pfnCallbackFunc,LPVOID lpParam )

设置Crash时的回调函数


int crUninstall( ) 

卸载调用CrashRpt库进和先前通过crInstall安装的异常句柄


int crUninstallFromCurrentThread( )

从当前线程中卸载C++异常句柄


CrashRpt组成:

该库分成两部分,错误收集部分,错误分析部分,前者是位于client端,后者是位于开发者端;



CrashRpt的官方应用例子:

http://crashrpt.sourceforge.net/docs/html/simple_example.html


在VS中使用CrashRpt:

1、需要将CrashRptXXXX.lib包含进入工程中(XXXX为CrashRpt具体的版本号)

2、在使用CrashRpt库的工程中,需要将CraRptXXXX.dll,CrashSenderXXXX.exe,dbghelp.dll,crashrpt_lang.ini放在工程所在路径下







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小佐编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值