(SHLWAPI.DLL):0xC00000FD:堆栈溢出

时间:2009-02-20 05:40:06

标签: mfc

我有一个SDI应用程序Vc ++ 6.0。我正在使用ShellExecute函数从MDI应用程序运行此应用程序。当SDI应用程序运行时,它会打开一个ODBC对话框,如果用户单击HELP但是应用程序终止。我使用SPY ++进行了检查,并因应用程序终止而获得以下原因

(SHLWAPI.DLL):0xC00000FD:堆栈溢出。

为什么会这样?

1 个答案:

答案 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);
    }

本文的其余部分解释了如何处理后续堆栈溢出,而不会引发访问冲突异常。