Debugging data format
Encyclopedia
A debugging data format is a means of storing information about a compiled computer program
for use by high-level debugger
s. Modern debugging data formats store enough information to allow source-level debugging.
High-level debuggers need information about variables, types, constants, subroutines and so on so they can translate between machine-level storage and source language constructs. Such information can also be used by other software tools. The information must be generated by the compiler
and stored in the executable
file or dynamic library by the linker.
Some object file
formats include debugging information, but others can use generic debugging data formats such as stabs
and DWARF
.
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
for use by high-level debugger
Debugger
A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...
s. Modern debugging data formats store enough information to allow source-level debugging.
High-level debuggers need information about variables, types, constants, subroutines and so on so they can translate between machine-level storage and source language constructs. Such information can also be used by other software tools. The information must be generated by the compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
and stored in the executable
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...
file or dynamic library by the linker.
Some object file
Object file
An object file is a file containing relocatable format machine code that is usually not directly executable. Object files are produced by an assembler, compiler, or other language translator, and used as input to the linker....
formats include debugging information, but others can use generic debugging data formats such as stabs
Stabs
stabs is a debugging data format for storing information about computer programs for use by symbolic and source-level debuggers...
and DWARF
DWARF
DWARF is a widely used, standardized debugging data format. DWARF was originally designed along with Executable and Linkable Format , although it is independent of object file formats...
.
List of debugging formats
- stabsStabsstabs is a debugging data format for storing information about computer programs for use by symbolic and source-level debuggers...
- COFFCOFFThe Common Object File Format is a specification of a format for executable, object code, and shared library computer files used on Unix systems...
- PE/COFFPortable ExecutableThe Portable Executable format is a file format for executables, object code and DLLs, used in 32-bit and 64-bit versions of Windows operating systems. The term "portable" refers to the format's versatility in numerous environments of operating system software architecture...
- OMFRelocatable Object Module FormatThe Relocatable Object Module Format is an object file format used primarily for software intended to run on Intel 80x86 microprocessors. It was originally developed by Intel under the name Object Module Format, and is perhaps best known to DOS users as a .OBJ file...
- IEEE-695
- DWARFDWARFDWARF is a widely used, standardized debugging data format. DWARF was originally designed along with Executable and Linkable Format , although it is independent of object file formats...