GlobalFree () вызывает точку останова пользователя ... блок памяти исправлен, не заблокирован, один модуль, нет DLL - PullRequest
2 голосов
/ 13 декабря 2010

В какой-то момент в моей программе я вызываю GlobalFree (), чтобы освободить буфер памяти, который я выделил с помощью GlobalAlloc (), используя флаг GMEM_FIXED. Нет ничего, что могло бы заблокировать этот блок. Однако, когда я вызываю GlobalFree () после обращения к данным (и все внутренние данные остаются такими же, как были), программа останавливается и сообщает, что столкнулась с точкой останова пользователя из кода в коде GlobalFree ().

Есть идеи, что может вызвать это?

1 Ответ

3 голосов
/ 13 декабря 2010

Функции кучи обычно вызывают DebugBreak () - который реализует точку останова пользователя - когда они обнаруживают, что структуры кучи были повреждены.

Подразумевается, что вы написали после конца (или начала)выделенной площади.

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