DWARF

DWARF

DWARF is a widely used, standardized debugging data format. DWARF was originally designed along with Executable and Linkable Format (ELF), although it is independent of object file formats.[1] The name is a medieval fantasy complement to "ELF" that has no official meaning, although the backronym 'Debugging With Attributed Record Formats' was later proposed.[1]

Contents

History

The first version of DWARF proved to use excessive amounts of storage, and it was superseded by an incompatible successor DWARF-2, which added various encoding schemes to reduce data size. DWARF was not immediately successful; for instance, when Sun Microsystems adopted ELF as part of their move to Solaris, they opted to continue using stabs, in an embedding known as "stabs-in-elf". Linux followed suit, and DWARF-2 did not become the default until the late 1990s. DWARF version 3, which was released in January 2006,[2] adds (among other things) support for C++ namespaces, Fortran 90 allocatable data and additional compiler optimization techniques.

Version 4 of DWARF, which offers "improved data compression, better description of optimized code, and support for new language features in C++", was published in 2010.[3]

Structure

DWARF uses a data structure called a Debugging Information Entry (DIE) to represent each variable, type, procedure, etc. A DIE has a tag (e.g., DW_TAG_variable, DW_TAG_pointer_type, DW_TAG_subprogram) and attributes (key-value pairs), A DIE can have nested (child) DIEs, forming a tree structure. A DIE attribute can refer to another DIE anywhere in the tree—for instance, a DIE representing a variable would have a DW_AT_type entry pointing to the DIE describing the variable's type.

To save space, two large tables needed by symbolic debuggers are represented as byte-coded instructions for simple, special-purpose finite state machines. The Line Number Table, which maps code locations to source code locations and vice versa, also specifies which instructions are part of function prologues and epilogues. The Call Frame Information table allows debuggers to locate frames on the call stack.

Further reading

Michael Eager, chair of the DWARF Standards Committee, has written an introduction to debugging formats and DWARF 3, Introduction to the DWARF Debugging Format.[1]

See also

  • stabs - Symbol TABle entrieS debugging format

References

  1. ^ a b c Michael J. Eager (February 2007). "Introduction to the DWARF Debugging Format". http://www.dwarfstd.org/doc/Debugging%20using%20DWARF.pdf. Retrieved 2007-06-25. 
  2. ^ "DWARF Version 3 Standard Released" (Press release). Free Standards Group. January 4, 2006. http://dwarfstd.org/PressRelease.php. Retrieved 2007-06-25. 
  3. ^ "DWARF Version 4 Released". The DWARF committee. June 16, 2010. http://dwarfstd.org/Announcement.php. Retrieved 2010-06-24. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?
Synonyms:

Look at other dictionaries:

  • Dwarf — may refer to: A person with dwarfism Dwarf (Germanic mythology), a being from Germanic mythology and folklore. Contents 1 Biology 2 Modern popular culture …   Wikipedia

  • dwarf — dwarf; dwarf·ish; dwarf·ism; dwarf·ling; dwarf·ness; sub·dwarf; semi·dwarf; dwarf·ish·ly; dwarf·ish·ness; …   English syllables

  • Dwarf — Dwarf, n.; pl. {Dwarfs}. [OE. dwergh, dwerf, dwarf, AS. dweorg, dweorh; akin to D. dwerg, MHG. twerc, G. zwerg, Icel. dvergr, Sw. & Dan. dverg; of unknown origin.] 1. An animal or plant which is much below the ordinary size of its species or kind …   The Collaborative International Dictionary of English

  • dwarf — n Dwarf, pygmy, midget, manikin, homunculus, runt are comparable when they mean an individual and usually a person of diminutive size. Dwarf is the general term not only for a human being but for any animal or plant that is definitely below the… …   New Dictionary of Synonyms

  • dwarf — [dwôrf] n. pl. dwarfs or dwarves [dwôrvz] [ME dwerf, dwergh < OE dweorg, akin to Ger zwerg < IE * dhwergh , prob. < base * dhwer , to trick, injure > Sans dhvarati, (he) injures] 1. any human being, animal, or plant that is much… …   English World dictionary

  • Dwarf — Dwarf, v. i. To become small; to diminish in size. [1913 Webster] Strange power of the world that, the moment we enter it, our great conceptions dwarf. Beaconsfield. [1913 Webster] …   The Collaborative International Dictionary of English

  • dwarf — [adj] miniature, tiny baby, diminutive, low, petite, pocket, small, undersized; concept 773 Ant. big, giant, huge, large dwarf [n] very small person bantam, dwarfling, homunculus, Lilliputian*, midget, Tom Thumb*; concept 424 Ant. giant dwarf …   New thesaurus

  • dwarf — ► NOUN (pl. dwarfs or dwarves) 1) a member of a mythical race of short, stocky human like creatures. 2) an abnormally small person. 3) (before another noun ) (of an animal or plant) much smaller than is usual for its type or species. 4) (also… …   English terms dictionary

  • Dwarf — Dwarf, v. t. [imp. & p. p. {Dwarfed}; p. pr. & vb. n. {Dwarfing}.] To hinder from growing to the natural size; to make or keep small; to stunt. Addison. [1913 Webster] Even the most common moral ideas and affections . . . would be stunted and… …   The Collaborative International Dictionary of English

  • dwarf — dwarf. См. нанизм. (Источник: «Англо русский толковый словарь генетических терминов». Арефьев В.А., Лисовенко Л.А., Москва: Изд во ВНИРО, 1995 г.) …   Молекулярная биология и генетика. Толковый словарь.

  • dwarf — index lessen, minimize Burton s Legal Thesaurus. William C. Burton. 2006 …   Law dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”