что является причиной неверного адреса, указанного в RtlFreeHeap - PullRequest
3 голосов
/ 19 мая 2010

среда разработки vs2008, язык c ++, когда я выпускаю проблему, в начале она запускается без проблем, но через несколько минут останавливается и выдает ошибку, подобную этой: HEAP [guessModel.exe]: указан неверный адрес для RtlFreeHeap (003E0000, 7D7C737B). кто может сказать мне причину ошибки. большое спасибо.

Ответы [ 3 ]

5 голосов
/ 19 мая 2010

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

Очень сложно определить причину, не увидев фактический код. Вы можете прикрепить некоторые средства отладки, такие как WinDbg, и получить причину этой ошибки.

3 голосов
/ 19 мая 2010

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

0 голосов
/ 07 января 2018

В моем случае это было следующим:

  • По ошибке в моих источниках использовались два класса с одинаковым именем
  • Один класс был скрыт в CPP, другой имел обычный заголовок представления и реализацию CPP.
  • Он был составлен без ошибок, но в некоторых случаях появился сигнал ошибки сегментации)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...