当前位置:   article > 正文

windows程序中生成崩溃转储文件(.dmp)_window系统崩溃 如何转储文件

window系统崩溃 如何转储文件

提供给用户使用的程序如果崩溃,如果能生成相应的转储文件,那么很容易定位出错原因

对于自己编写的win32程序,可以如下编写

__try

{

逻辑代码

...

}

__exception(ExceptionHandler(GetExceptionInformation()))

{

//log info

//::ExitProcess();

}

ExceptionHandler里面进行转储文件生成

unsigned long ExceptionHandler(LPEXCEPTION_POINTERS pExceptionPointers)

{

char szFile[MAX_PATH];

sprintf(szFile, "mydmp%d.dmp", exe_version); // 记录程序版本

HANDLE hDmpFile = ::CreateFile(szFile, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0)

MINIDUMP_EXEPTION_INFORMATION stInfo = {0};

stInfo.ThreadId = GetCurrentThreadId();

stInfo.ExceptionPointers = pExceptionPointers;

stInfo.ClientPointers = TRUE;

BOOL bOk = MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/245731
推荐阅读
相关标签
  

闽ICP备14008679号