Debug模式下,出异常时,很容易找到出错的位置和callstack信息。
但发布以后,再出异常的时候,就必须用到DUMP文件了。
本文主要是参考了http://blog.csdn.net/starlee/article/details/6630816
调用的API
BOOL WINAPI MiniDumpWriteDump(
__in HANDLE hProcess,
__in DWORD ProcessId,
__in HANDLE hFile,
__in MINIDUMP_TYPE DumpType,
__in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
__in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
__in PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);
我们可以使用我们自己的异常类,将程序可能产生的异常进行封装后,调用上述的API函数,将异常信息保存到DUMP文件后,
再用VS打开这个dump文件,就找到了出错的位置和callstack等信息。
对原文的代码,做了简单的封装
#pragma once
#include <Windows.h>
class DumpFile
{
public:
DumpFile(void);
~DumpFile(void);
st