What advantages does DWARF have over STABS?
DWARF is a block structured and extensible description of a program’s source and how it is translated into executable code. It’s easy to add new descriptions or extend the descriptions in DWARF. STABS is much more restricted in it’s expressive abilities. It depends on predefined symbol and type definitions and is not easily modified or extended. Additionally, DWARF has facilities for describing a more complex execution environment, such as discontiguous scopes, stack structures, and stack unwinding, which STABS cannot.