Необработанное исключение - PullRequest
0 голосов
/ 27 мая 2011

Я получаю необработанное исключение для некоторых функций из-за включения одного из элементов управления, и я не могу найти точную причину. Это дает мне ошибку в инструкции по сборке 00451901 добавить dword ptr [eax], eax, но я не могу понятьосновная причина необработанного исключения. Пожалуйста, предложите какое-нибудь программное обеспечение или любую другую вещь, чтобы узнать влияние включения и выключения элемента управления.

1 Ответ

3 голосов
/ 27 мая 2011

Вы получаете исключение, потому что, безусловно, eax содержит значение, которое не является адресом области памяти для записи.

Итак, вопрос в том, почему эта инструкция была выполнена. Вот подсказка:

Машинный код для инструкций add dword ptr[eax], eax это 01 00.

То есть неожиданное выполнение этих инструкций обычно означает, что вы случайно выполнили некоторые данные (например, 32-битная константа '1').

Это обычно происходит из-за переполнения буфера или стека в вашем коде или вызова функции по указателю, который не был назначен должным образом.

Проверьте доступ к массиву и вызовы указателей функций.

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