2013-07-05 10 views
0

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

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

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

В любом случае я могу решить эту проблему?

+0

Необходимо ... подробнее ... контекст ... –

+0

Вам нужно будет опубликовать исходный код, где возникает проблема. –

+1

@RogerRowland, так как его стек звучит поврежденным, я бы сделал ставку, он не знает. Лучше всего отлаживать его и видеть, где он находится, когда он получает нарушение доступа, или искать что-нибудь, что может быть неправильно написано в буфере. –

ответ

2

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

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

0

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

Более глубокое погружение доступно here.

Смежные вопросы