
@c -----------------------------------------------------------------------------
@node symify, edebug32, , Top
@chapter @command{symify}
@pindex symify
@pindex bfdsymify

Usage: @kbd{symify [-o output.dmp] [-i input.dmp] progname.exe}

@command{symify} is a utility that adds procedure names and source line
numbers to the call frame traceback displayed on the screen when a program
aborts.  The default behavior is to add the extra information to the
screen, but input or output from files can be specified with the
@option{-o} and @option{-i} switches.  @command{symify} can only interpret
debug information in @acronym{COFF} format.  If @command{bfdsymify} is
installed @command{symify} will pass the arguments to @command{bfdsymify},
which can handle additional debug formats.  @command{bfdsymify} is
included in the @command{gdb} (GNU debugger) package.

@cindex Call frame traceback EIPs
@cindex traceback

The call frame traceback EIPs are displayed in hexadecimal address
values.  These values show the addresses where one procedure calls
another and has pushed its return information onto the stack.  The
values at the top are the most recently called procedures.
@command{symify} reads the debug information from the executable you
specify on the command line (with @file{.exe} extension) and puts it
after the hexadecimal numbers.  If the image is stripped there is no
additional information which can be added.  If you compiled the modules
with the @option{-g} switch to @command{gcc} you can also display
source line numbers (without @option{-g} you will only get procedure
names and offsets into those procedures).

@strong{Options:}

@table @code

@item -o @var{output-file}

Output to the specified file @var{output-file}.  @command{symify}
copies the traceback plus symbolic names and puts it into the file name
you specify after the @option{-o} option.  This allows you to save it
(for sending to the author, or examination while fixing the bug).  If
@option{-o} is specified the screen buffer is not changed.

@item -i @var{input-file}

Input from the specified file @var{input-file}.  @command{symify} reads
the stack trace from the file name you specify after the @option{-i}
option.  This file could be created by @code{redir} (@pxref{redir}) or
redirecting handle 2 to a file.

@end table

Known compatibility problem (Windows NT, Windows 2000, Windows XP):

Sometimes @code{symify} cannot read the screen buffer to get the traceback
information.  In that case you must copy the screen buffer manually and
save it to a file, and use the @option{-i} option.


@c -----------------------------------------------------------------------------
@node edebug32, fsdb, symify, Top
@chapter @command{edebug32}
@pindex edebug32

Usage: @kbd{edebug32 debug-image.exe [args to debug-image]}

@command{edebug32} is a simple debugger for DJGPP images.  See the
internal help (@kbd{h} at the command prompt) for more information on
usage.  @command{edebug32} is an expert's debugger and does not support
newer debugging formats.  @command{debug32} can only interpret debug
information in @acronym{COFF} format, which can be generated at
compile time using the @option{-gcoff} option to @command{gcc}.  It is
recommended that new users try one of the other more powerful or
easy-to-use debuggers such as @command{gdb}.


@c -----------------------------------------------------------------------------
@node fsdb, , edebug32, Top
@chapter @command{fsdb}
@pindex fsdb

Usage: @kbd{fsdb [-p path] [-d] [-s setup] debug-image.exe [args]}

@command{fsdb} is a full screen debugger for DJGPP images.  See the
internal help (press F1 key) for more information on usage.
@command{fsdb} is not actively maintained and does not support newer
debugging formats.  @command{fsdb} can only interpret debug
information in @acronym{COFF} format, which can be generated at
compile time using the @option{-gcoff} option to @command{gcc}.  It is
recommended that new users try one of the newer debuggers such as
@command{rhgdb}.

@strong{Options:}

@table @code

@item -p @var{source-path}

@vindex FSDBPATH
Specify source path as @var{source-path} to find source files used to
build this image.  The source path can also be set as an environment
variable @env{FSDBPATH}, but the command line option will override the
environment variable.

@item -d

@vindex FSDBDUAL
Dual monitors.  Enable dual monitor display using monochrome graphics
card.  Useful when debugging graphics images but requires special hardware.
Dual monitors can also be requested by setting the environment variable
@env{FSDBDUAL}.

@item -s @var{setup-file}

Specify setup file as @var{setup-file}.  The default is @file{fsdb.dsk} in
the current directory.

@end table
