From Wikipedia, the free encyclopedia

stabs (sometimes written STABS) is a debugging data format for storing information about computer programs for use by symbolic and source-level debuggers. (The information is stored in symbol table strings; hence the name "stabs".) Cygnus Support attributes the invention of stabs to Peter Kessler [Wikidata] for the Berkeley Pascal pdx debugger,[1] however, he claims otherwise, stating stabs came with adb and sdb but could predate those.[2] Mark Linton [Wikidata], who created pdx for his 1981 master's thesis and later developed it into dbx, states his doctoral adviser Michael L. Powell "contributed to the stabstrings design, especially to support Modula-2".[3]


When stabs was created in the 1980s, the dominant object file format was a.out, which (unlike more recent formats such as ELF) makes no provision for storing debugging information. Stabs works around this problem by encoding the information using special entries in the symbol table.

At one stage stabs was widely used on Unix systems, but the newer DWARF format has largely supplanted it.


  1. ^ Menapace, Julia; Kingdon, Jim; MacKenzie, David (1993). "Overview of Stabs". The "stabs" Debug Format. Cygnus Support. CiteSeerX Retrieved 2018-01-21.
  2. ^ Kessler, Peter B. (November 21, 2014). "RFR: 8065656: Use DWARF debug symbols for Solaris". build-dev (Mailing list). Retrieved 2018-01-21.
  3. ^ Linton, Mark A. (1990). "The Evolution of Dbx" (PDF). USENIX Summer. USENIX Summer 1990 Technical Conference. pp. 211–220. CiteSeerX S2CID 15074926. Archived from the original (PDF) on 2018-01-23. Retrieved 2018-01-21.

External links[edit]