126 lines
3.7 KiB
XML
126 lines
3.7 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
|
|
|
<refentry id="yasm_dbgfmts">
|
|
|
|
<refentryinfo>
|
|
<title>Yasm Supported Debug Formats</title>
|
|
<date>October 2006</date>
|
|
<productname>Yasm</productname>
|
|
<author>
|
|
<firstname>Peter</firstname>
|
|
<surname>Johnson</surname>
|
|
<affiliation>
|
|
<address><email>peter@tortall.net</email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<copyright>
|
|
<year>2006</year>
|
|
<holder>Peter Johnson</holder>
|
|
</copyright>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>yasm_dbgfmts</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>yasm_dbgfmts</refname>
|
|
<refpurpose>Yasm Supported Debugging Formats</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>yasm</command>
|
|
<arg choice="plain">
|
|
<option>-g <replaceable>dbgfmt</replaceable></option>
|
|
</arg>
|
|
<arg choice="plain">
|
|
<option><replaceable>...</replaceable></option>
|
|
</arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>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-<quote>null</quote>
|
|
debug format also causes Yasm to output all symbols to the object
|
|
file (including local symbols).</para>
|
|
|
|
<para>The debug format is selected on the
|
|
|
|
<citerefentry>
|
|
<refentrytitle>yasm</refentrytitle>
|
|
<manvolnum>1</manvolnum>
|
|
</citerefentry>
|
|
|
|
command line by use of the <option>-g
|
|
<replaceable>dbgfmt</replaceable></option> command line
|
|
option.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>cv8</title>
|
|
|
|
<para>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.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>dwarf2</title>
|
|
|
|
<para>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.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>null</title>
|
|
|
|
<para>The <quote>null</quote> debug format is a placeholder; it adds
|
|
no debugging information to the output file.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>stabs</title>
|
|
|
|
<para>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.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<para><citerefentry>
|
|
<refentrytitle>yasm</refentrytitle>
|
|
<manvolnum>1</manvolnum>
|
|
</citerefentry>,
|
|
|
|
<citerefentry>
|
|
<refentrytitle>yasm_objfmts</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
</citerefentry></para>
|
|
</refsect1>
|
|
</refentry>
|