Выполнение .exe в MSVC IDE (2005) вызывает ошибку ссылки на память - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть проект, работающий в MSVC 2005. После сборки проекта в режиме отладки я получаю файл .exe.

Когда я нажимаю клавишу F5, я могу запустить приложение.Но когда я нажимаю Ctrl + F5, я получаю следующую ошибку

[Инструкция на «0x7c911909» ссылается на память на «0xfffffff8».Память не может быть «прочитана»]

Может кто-нибудь объяснить мне, почему это происходит.

По праву, даже если я нажму Ctrl + F5, я смогу запустить приложение.

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

Не видя код, предположение: у вас где-то есть неинициализированный указатель.Если я правильно помню, работа в режиме отладки выделяет память по-разному, одна из вещей, которую он делает, - это установка выделенной памяти для определенных значений.

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

Подробная информация о куче отладки: http://msdn.microsoft.com/en-us/library/974tc9t1(v=vs.80).aspx

0 голосов
/ 21 декабря 2011

Я не могу объяснить, что происходит, потому что на самом деле недостаточно информации.Однако вы можете узнать больше о проблеме, установив точку останова по адресу 0x7c911909, запустив ее под отладчиком и посмотрев, говорит ли вам что-нибудь.Обратите внимание, что этот адрес довольно высокий, поэтому он может быть неверным или системным DLL-адресом (особенно если вы работаете в системе Win64).Тем не менее, трассировка стека может быть информативной.

...