Yasm Supported Debug FormatsOctober 2006YasmPeterJohnsonpeter@tortall.net2006Peter Johnsonyasm_dbgfmts7yasm_dbgfmtsYasm Supported Debugging FormatsyasmDescriptionThe 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
yasm1
command line by use of the command line
option.cv8The 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.dwarf2The 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.nullThe null debug format is a placeholder; it adds
no debugging information to the output file.stabsThe 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 Alsoyasm1,
yasm_objfmts7