16,548
社区成员




#include <windows.h>
#include<iostream>
#include <tchar.h>
using namespace std;
LONG WINAPI MyUnhandledExceptionFilter(_EXCEPTION_POINTERS* lpExceptionInfo)
{
EXCEPTION_RECORD* pInfo = lpExceptionInfo->ExceptionRecord;
DWORD dwExceptionCode = pInfo->ExceptionCode;
switch(dwExceptionCode)
{
case EXCEPTION_ACCESS_VIOLATION:
{
TCHAR szText[256] = {0};
_stprintf(szText, _T("Unknown Exception: 0x%x at address 0x%x"),
pInfo->ExceptionCode, pInfo->ExceptionAddress);
cout<<szText<<endl;
}
break;
default:
break;
}
return EXCEPTION_EXECUTE_HANDLER;
}
int main()
{
SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);
char *p;
char buf[32] = {0};
p = NULL;
strcpy(buf, p); //p为空指针,内存访问错误
return 0;
}