Что такое адрес 0xbaddc0dedeadbead & quot; Плохое декодирование мертвого шарика & quot;

У меня были ошибки при попытке разыменования указателей в некоторых учениках, указывающих на адрес 0xbaddc0dedeadbead, который, очевидно, является не случайным значением, а сообщением «Плохое декодирование мертвого шарика», но от кого?
Знание этого может помочь исправить эти ошибки; это компилятор C ++ (llvm), компоновщик, загрузчик или какой-либо другой сервис MacOS, который может создать этот адрес? (Я на MacOS 10.10). Ура!

3

Решение

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

5

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

Установка точки наблюдения показала, что в моем случае это освобождает кучу (через деструктор), которая перезаписывает объект free’d с этим значением.

0

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