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.
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. https://sourceware.org/gdb/current/onlinedocs/stabs/Overview.html ↩
Kessler, Peter B. (November 21, 2014). "RFR: 8065656: Use DWARF debug symbols for Solaris". build-dev (Mailing list). Retrieved 2018-01-21. http://mail.openjdk.java.net/pipermail/build-dev/2014-November/013726.html ↩
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. S2CID 15074926. Archived from the original (PDF) on 2018-01-23. Retrieved 2018-01-21. https://web.archive.org/web/20180123131612/https://pdfs.semanticscholar.org/95dd/42a7390e62f46e2779023ae77191e461a436.pdf ↩