Stabs
   HOME

TheInfoList



OR:

stabs (sometimes written STABS) is a
debugging data format A debugging data format is a means of storing information about a compiled computer program for use by high-level debuggers. Modern debugging data formats store enough information to allow source-level debugging. High-level debuggers need informat ...
for storing information about computer programs for use by symbolic and source-level
debugger A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its executi ...
s. (The information is stored in symbol table strings; hence the name "stabs".)
Cygnus Support Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software. Its tagline was: ''Making free software affordable''. For years, employee ...
attributes the invention of stabs to for the Berkeley Pascal pdx debugger, however, he claims otherwise, stating stabs came with adb and sdb but could predate those. , 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".


History

When stabs was created in the 1980s, the dominant
object file An object file is a computer file containing object code, that is, machine code output of an assembler or compiler. The object code is usually relocatable, and not usually directly executable. There are various formats for object files, and the ...
format was a.out, which (unlike more recent formats such as
ELF An elf () is a type of humanoid supernatural being in Germanic mythology and folklore. Elves appear especially in North Germanic mythology. They are subsequently mentioned in Snorri Sturluson's Icelandic Prose Edda. He distinguishes "ligh ...
) makes no provision for storing debugging information. Stabs works around this problem by encoding the information using special entries in the
symbol table In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier (or symbols), constants, procedures and functions in a program's source code is associated with info ...
. At one stage stabs was widely used on
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
systems, but the newer
DWARF Dwarf or dwarves may refer to: Common uses *Dwarf (folklore), a being from Germanic mythology and folklore * Dwarf, a person or animal with dwarfism Arts, entertainment, and media Fictional entities * Dwarf (''Dungeons & Dragons''), a humanoid ...
format has largely supplanted it.


References


External links


STABS
GNU Debugger The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, and partially others. History GDB was first written ...
project documentation Debugging data formats {{programming-software-stub