den2k88 Ответов: 1

Официальная страница MSDN для значений отладочной памяти


Мой Google-fu терпит неудачу, я искал в google и MSDN поиск страницы, которую я почти уверен, что видел некоторое время назад, где перечислены все магические значения отладчика для инициализации памяти, lice 0xCC для стековой памяти, 0xCD для выделенной чистой памяти кучи и так далее.

Что я уже пробовал:

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

Richard MacCutchan

Попробовал несколько комбинаций слов, но получилось только так.

1 Ответов

Рейтинг:
1

Mike Diack

Попробуй

Внутри CRT: управление отладочной кучей[^]

Но и из моих собственных записей тоже:

Это список некоторых известных магических чисел, используемых
Microsoft, что может быть полезно знать при отладке приложения.

0xABABABAB
Охранные байты, используемые HeapAlloc() или LocalAlloc для обозначения "ничейной земли" после выделенной памяти кучи.

0xBAADFOOD
Используется LocalAlloc(LMEM_FIXED) для обозначения неинициализированной выделенной памяти кучи.

0xBEEFCACE
Используется корпорацией Майкрософт .NET как магическое число в файлах ресурсов.

0xCCCCCCCC
Используется библиотекой времени выполнения отладки C++ для маркировки неинициализированной стековой памяти.
(Для этого вам нужно скомпилировать файл с /GZ - 0xCC - это код операции для INT 3- breakpoint)

0xCDCDCDCD
Используется библиотекой времени выполнения отладки C++ для маркировки неинициализированной памяти кучи (malloc/new)

0xDEADDEAD
Используется стоп-код ошибки Windows, когда пользователь вручную запускает аварии.

0xFDFDFDFD
Охранные байты / ограждение памяти, используемые отладочной кучей C++ для обозначения "ничейной земли" раньше
а после выделили кучу памяти.

0xFEEEFEEE
Используется HeapFree (), чтобы отметить освобождение памяти в куче.

0xDDDDDDDD

Освобожденные (free/delete) блоки остаются неиспользуемыми в связанном списке отладочной кучи, когда
Флаг _CRTDBG_DELAY_FREE_MEM_DF установлен в настоящее время заполняется 0xDD.