Это выглядит очень близко к одному из специальных значений , используемых кучи отладки во время выполнения Visual Studio. Существует ряд значений, которые среда выполнения C использует после выделения и освобождения памяти, чтобы можно было легче диагностировать ошибки повреждения памяти. Значение 0xFEEEFEEE
используется после освобождения памяти.
Я подозреваю, что в вашем коде может происходить то, что объект был освобожден, но у вас все еще есть указатель на него ( висячий указатель ), и вы пытаетесь получить доступ к переменной-члену этого объекта. объект. Есть несколько вещей, которые вы можете сделать, чтобы диагностировать эту проблему, в зависимости от сложности вашего кода. Одним из них является включение Проверка кучи страницы , а другим - добавление некоторых точек останова в деструкторе класса, на который делается разыменование, поэтому выясните, где уничтожается объект, чтобы вы могли сбросить другие указатели, которые ссылаются на него. Это. Подумайте об использовании интеллектуальных указателей, таких как shared_ptr<>
, чтобы уменьшить вероятность висячих указателей.