Yasm Supported Debug Formats October 2006 Yasm Peter Johnson
peter@tortall.net
2006 Peter Johnson
yasm_dbgfmts 7 yasm_dbgfmts Yasm Supported Debugging Formats yasm Description The standard Yasm distribution includes a number of modules for different debugging formats. The debugging information is embedded into the object file. Use of a non-null debug format also causes Yasm to output all symbols to the object file (including local symbols). The debug format is selected on the yasm 1 command line by use of the command line option. cv8 The CV8 debug format is used by Microsoft Visual Studio 2005 (version 8.0) and is completely undocumented, although it bears strong similarities to earlier CodeView formats. Yasm's support for the CV8 debug format is currently limited to generating assembly-level line number information (to allow some level of source-level debugging). The CV8 debug information is stored in the .debug$S and .debug$T sections of the Win64 object file. dwarf2 The DWARF 2 debug format is a complex, well-documented standard for debugging information. It was created to overcome shortcomings in STABS, allowing for much more detailed and compact descriptions of data structures, data variable movement, and complex language structures such as in C++. The debugging information is stored in sections (just like normal program sections) in the object file. Yasm supports full pass-through of DWARF2 debugging information (e.g. from a C++ compiler), and can also generate assembly-level line number information. null The null debug format is a placeholder; it adds no debugging information to the output file. stabs The STABS debug format is a poorly documented, semi-standard format for debugging information in COFF and ELF object files. The debugging information is stored as part of the object file's symbol table and thus is limited in complexity and scope. Despite this, STABS is a common debugging format on older Unix and compatible systems, as well as DJGPP. See Also yasm 1 , yasm_objfmts 7