MFC Необработанное исключение

Я создаю программу, и она отлично работает последние несколько дней. Когда я запускаю его сегодня, это показывает Unhandled exception at 0x7770efc8 in LHM.exe: 0xC0000005: Access violation writing location 0x00440f48.

ntdl.dll! 7770fb12 ()
В приведенном ниже стеке вызовов это указывает на то, что указанные ниже кадры могут быть неправильными и / или отсутствующими, символы не загружаются для ntdll.dll.

И я нашел, что ntdl.dll! 7770fb12 () 7770FB12 push esi в разборке.

Могу ли я решить эту проблему?

0

Решение

Даже если в стеке вызовов нет определенного местоположения, когда вызов в вашем коде в конечном итоге приводит к появлению ntdll.dll, в большинстве случаев вы можете точно определить вызов, пройдя по коду с самого начала. Если ваш код слишком велик, попробуйте случайным образом установить точки останова и сузить их непрерывно.

Это очень простая и, возможно, грубая процедура отладки, но она мне очень помогает …

2

Другие решения

«Кадры ниже могут быть неправильными», безусловно, не является признаком поврежденного стека. Это легко решается, если вы загружаете публичные символы для ntdll с серверов MS (это легко сделать из IDE — скажем, щелкните правой кнопкой мыши ntdll в окне «модулей»).

Доступно более глубокое погружение Вот.

0

По вопросам рекламы [email protected]