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 for the Berkeley Pascal pdx debugger, however, he claims otherwise, stating stabs came with adb and sdb but could predate those. Mark Linton, 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".
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.
- Menapace, Julia; Kingdon, Jim; MacKenzie, David (1993). "Overview of Stabs". The "stabs" Debug Format. Cygnus Support. CiteSeerX 10.1.1.38.1857. Retrieved 2018-01-21. CS1 maint: discouraged parameter (link)
- Kessler, Peter B. (November 21, 2014). "RFR: 8065656: Use DWARF debug symbols for Solaris". build-dev (Mailing list). Retrieved 2018-01-21. CS1 maint: discouraged parameter (link)
- Linton, Mark A. (1990). "The Evolution of Dbx" (PDF). USENIX Summer. USENIX Summer 1990 Technical Conference. pp. 211–220. CiteSeerX 10.1.1.38.5985. Retrieved 2018-01-21. CS1 maint: discouraged parameter (link)