借助MiniDumpWriteDump函数把崩溃进程的调用堆栈、CPU寄存器等信息写入本地文件。然后我们可以调用我们的BugReport.exe程序,让他发送Dump文件给服务器,然后重启客户端程序。
LONG __stdcall MyExceptionFun( LPEXCEPTION_POINTERS lpExcept)
{
wchar_t szMsg[1024]={0};
wsprintf(szMsg, L"Error address:0x%x, error code:%u\n CPU register:eax=0x%x, ebx=0x%x, ecx=0x%x, edx=0x%x", \
lpExcept->ExceptionRecord->ExceptionAddress, lpExcept->ExceptionRecord->ExceptionCode,\
lpExcept->ContextRecord->Eax, lpExcept->ContextRecord->Ebx, lpExcept->ContextRecord->Ecx, lpExcept->ContextRecord->Edx);
//MessageBox(NULL, szMsg, L"异常详细信息:", MB_OK|MB_ICONERROR);
S

本文介绍如何使用MiniDumpWriteDump函数捕获崩溃进程的调用堆栈、CPU寄存器等信息,并通过BugReport.exe程序将Dump文件发送至服务器,实现崩溃报告自动化。
最低0.47元/天 解锁文章
4383

被折叠的 条评论
为什么被折叠?



