我有一个SDI应用程序Vc ++ 6.0。我正在使用ShellExecute函数从MDI应用程序运行此应用程序。当SDI应用程序运行时,它会打开一个ODBC对话框,如果用户单击HELP但是应用程序终止。我使用SPY ++进行了检查,并因应用程序终止而获得以下原因
(SHLWAPI.DLL):0xC00000FD:堆栈溢出。
为什么会这样?
答案 0 :(得分:0)
您可以尝试trap stack overflow in your Visual C++ application来:
使用Microsoft Visual C ++中的__try
和__except
关键字可以捕获此异常
__try
{
StackOverflow(0);
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
printf("Exception handler %lX\n", _exception_code());
Sleep(2000);
}
本文的其余部分解释了如何处理后续堆栈溢出,而不会引发访问冲突异常。