(SHLWAPI.DLL): 0xC00000FD: переполнение стека - PullRequest
1 голос
/ 20 февраля 2009

У меня есть приложение SDI Vc ++ 6.0. Я запускаю это приложение из приложения MDI, используя функцию ShellExecute. Когда приложение SDI запускается, оно открывает одно диалоговое окно ODBC, и если пользователь нажимает на кнопку HELP, приложение закрывается. Я проверил с помощью SPY ++ и получил следующую причину завершения приложения

(SHLWAPI.DLL): 0xC00000FD: переполнение стека.

Почему это происходит?

1 Ответ

0 голосов
/ 20 февраля 2009

Вы можете попытаться переполнить стек в вашем приложении Visual C ++ to:

  • преодолеть это первое переполнение стека
  • проанализировать, когда это происходит (происходит ли это несколько раз после этого первого появления или нет?)

Это исключение можно перехватить с помощью ключевых слов __try и __except в Microsoft Visual C ++

    __try
    {
        StackOverflow(0);
    }
    __except (EXCEPTION_EXECUTE_HANDLER)
    {
        printf("Exception handler %lX\n", _exception_code()); 
        Sleep(2000);
    }

В остальной части статьи объясняется, как обрабатывать последующие переполнения стека, не создавая для них исключения нарушения доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...