[轉]DEADBEEF 是什麼

來源:互聯網
上載者:User

標籤:report   java   head   end   rate   static   try   security   native   

我在uboot代碼裡看到,freescale系列cpu,總喜歡把ddr的值全部初始化為0xDEADBEEF。

直到最近,我看到Google面試題裡居然也有問這個值的來曆,才認真搜了一下,果然有曆史淵源啊。

 

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

Many computer processors, operating 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 Microsystems‘ Solaris, 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]

[轉]DEADBEEF 是什麼

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.