DEADBEEF 是什么

转自:https://www.cnblogs.com/lucelujiaming/p/9480865.html

我在uboot代码里看到,freescale系列cpu,总喜欢把ddr的值全部初始化为0xDEADBEEF。

直到最近,我看到谷歌面试题里居然也有问这个值的来历,才认真搜了一下,果然有历史渊源啊。

 

http://en.wikipedia.org/wiki/Hexspeak

Many computer processorsoperating systems, and debuggers make use of magic numbers, especially as a magic debug value.

  • 0x8BADF00D ("ate bad food") is used by Apple in iOS crash reports, when an application takes too long to launch, terminate, or respond to system events.[1]

  • 0x1BADB002 ("1 bad boot"[2]) Multiboot header magic number.[3]

  • 0xB16B00B5 ("big boobs") was required by Microsoft's Hyper-V hypervisor to be used by Linux guests as their "guest signature".[4] This offending code was later changed to 0x0DEFACED ("defaced").[5]

  • 0xBAADF00D ("bad food") is used by Microsoft's LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory when the debug heap is used.[6]

  • 0xBADDCAFE ("bad cafe") is used by Libumem to indicate uninitialized memory area

  • 0xCAFEBABE ("cafe babe") is used by Mach-O to identify Universal object files, and by the Java programming language to identify Java bytecodeclass files.[7]

  • 0xCAFED00D ("Cafe Dude") is used by Java as a magic number for their pack200 compression.[8]

  • 0xD15EA5E ("disease") is a flag that indicates regular boot on the Nintendo GameCube and Wii consoles.[9][10]

  • 0xDEADBABE ("Dead Babe") is used by IBM Jikes RVM as a sanity check of the stack of the primary thread [11]

  • 0xDEADBEEF ("dead beef") is frequently used to indicate a software crash or deadlock in embedded systems. DEADBEEF was originally used to mark newly allocated areas of memory that had not yet been initialized -- when scanning a memory dump, it is easy to see the DEADBEEF. It is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun MicrosystemsSolaris, it marks freed kernel memory. On OpenVMS running on Alpha processors, DEAD_BEEF can be seen by pressing CTRL-T. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef".[12]

  • 0xDEADC0DE ("dead code") is used as a marker in OpenWRT firmware to signify the beginning of the to-be created jffs2 filesystem at the end of the static firmware.

  • 0xDEADDEAD ("dead dead") is the bug check (STOP) code displayed when invoking a Blue Screen of Death either by telling the kernel via the attached debugger, or by using a special keystroke combination.[13] This is usually seen by driver developers, as it is used to get a memory dump on Windows NT based systems. An alternative to 0xDEADDEAD is the bug check code 0x000000E2,[14] as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network.

  • 0xDEADFA11 ("dead fall") is used by Apple in iOS crash reports, when the user force quits an application.[1]

  • 0xDEAD10CC ("dead lock") is used by Apple in iOS crash reports, when application holds on to a system resource while running in the background.[1]

  • 0xDEFEC8ED ("defecated") is the magic number for OpenSolaris core dumps.[15]

  • 0xFACEFEED ("face feed") is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer (HAL) generates this error when it encounters a hardware failure.[16]

  • 0xFEE1DEAD ("feel dead") is used as a magic number in the Linux reboot system call.[17]

  • 0xE011CFD0 is used as magic number for Microsoft Office files. In little endian this reads D0CF11E0, "docfile0".[18]

  • 0x0000000FF1CE ("office") is used as the last part of product codes (guid) for Microsoft Office components (visible in registry under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registry key).

  • 0x00BAB10C ("oo-ba-block") is used as the magic number for the ZFS uberblock.

  • C15C:0D06:F00D ("cisco dog food") used in the IPv6 address of www.cisco.com on World IPv6 Day. "Dog food" refers to Cisco eating its own dog foodwith IPv6.

  • face:b00c ("facebook") used in the IPv6 address of www.v6.facebook.com

  • 0xDEADD00D ("dead dude") is used by Android in the Dalvik virtual machine to indicate a VM abort.

  • 0xCEFAEDFE ("face feed") is used by Apple in iOS as a header for binary files. In little endian this reads FACEFEED, "Face Feed".

  • 0xDABBAD00 ("dabba doo") is the name of a blog on computer security.[19]

  • 0x1CEB00DA ("ice buddha") was used as the origin for the binary file parser IceBuddha.[20]

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值