我的一个程序调用了一个第三方的库,该库我是无法修改和调试的。在debug下运行,在调用该库的某个API时偶尔会抛异常,导致程序崩溃。提示框显示:OxC0000005访问0x********地址错误,大致就是这样的信息。
我想捕捉到这个异常,这样进程在运行时就不会崩溃了。可是我用C++的try catch(...)捕获不到,用__try __except也捕捉不到。
请各位大侠给指点一下,有什么办法能捕捉到这种内存访问错误引起的异常。
我想捕捉到这个异常,这样进程在运行时就不会崩溃了。可是我用C++的try catch(...)捕获不到,用__try __except也捕捉不到。
请各位大侠给指点一下,有什么办法能捕捉到这种内存访问错误引起的异常。
解决方案 »
- 随便拍一张很多石头的图片,如何把他们的边缘检测出来
- 请高手帮忙看一下问题出在哪了?
- 如何在MFC中执行DOS命令?
- 如何优化程序让程序占用的资源变小
- 关于CRunTimeClass的问题
- 怎样改变对话框的大小啊?hellp!!!!!!!!!111
- 求mmst,telnet,ftp的协议说明书!!
- 利用MFC向导创建了程序不过有些自动产生的函数中的语句看不懂,哪位好心人给我这个菜鸟讲讲啊?再就是我怎么找不到WinMain啊?
- vc是按什么顺序对文件进行编译的?
- 请各位大侠多多指教(关于用串口传输文件)
- the application was unable to start correctly(0xc0150002)
- 关于detours问题
int SehFilter(DWORD dwExceptionCode)
{
switch (dwExceptionCode)
{
case EXCEPTION_ACCESS_VIOLATION:
return EXCEPTION_EXECUTE_HANDLER;
}
return EXCEPTION_CONTINUE_SEARCH;
}int test()
{
*(int*)0 = 0;
return 0;
}int main(int argc, char* argv[])
{
__try
{
test();
printf("test()");
}
__except (SehFilter(GetExceptionCode()))
{
printf("EXCEPTION_ACCESS_VIOLATION");
} getch();
}