Значение 0xDEADBEEF дает три практических преимущества, в основном для старых систем. Старые хаки на ассемблере / C, такие как я, использовали бы его для заполнения нераспределенной памяти, чтобы устранить проблемы с памятью. Кроме того, это игра слов из сленгового термина «мертвое мясо». Программист будет мертвым мясом, если DEADBEEF окажется в его указателях. Поздравляю парня, который первым придумал использовать значение DEADBEEF. Это умно во многих отношениях.
Что касается практических соображений, во-первых, это более заметно в шестнадцатеричном дампе памяти, потому что он фактически записывает слова, а не случайные шестнадцатеричные значения.
Во-вторых, если значение попадает в указатель, это с большей вероятностью вызовет ошибку выхода памяти за пределы допустимого диапазона. Адрес DEADBEEF был вне диапазона адресов систем (мы сейчас говорим о системах прошлого века), независимо от порядка байтов системы.
В-третьих, это с большей вероятностью вызовет сбой в системах, которым требуются даже значения граничных указателей для доступа к 16/32/64-битным данным. Вероятность ошибки в значении выше, поскольку оба 16-битных значения (DEAD, BEEF) нечетные.