Положение о нарушении прав доступа 0xfdfdfdfd

У меня была эта проблема в течение нескольких дней, и я ничего не могу найти, как ее исправить. У меня никогда не было такой ошибки:

Необработанное исключение в 0x00511e0e (msvcr100d.dll) в myproject.exe:
0xC0000005: Место записи нарушения прав доступа 0xfdfdfdfd.

Я действительно в недоумении, что делать. Любая помощь?

-4

Решение

0xfdfdfdfd магическое значение в реализации кучи отладки MSVC (подробности здесь) это помещается как канарейка непосредственно перед и позади выделенной области хранения. Каким-то образом вы используете его как указатель и пишете в него.

Трудно с уверенностью сказать, в чем заключается ошибка, поскольку вы не считали необходимым показывать какой-либо код. Я подозреваю одну из двух вещей:

  1. Вы выделяете массив указателей и используете «элемент» за последним неинициализированным последним элементом, или (более вероятно)
  2. Вы выделяете массив объектов (или, возможно, вектор), чей первый элемент данных является указателем, и делаете то же самое.

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

3

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


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