In general, you should use either the debugger that is supplied with each
type of compiler or a general-purpose debugger like totalview. The table below
provides the compilers and their associated debuggers for the compilers
installed on the Research Computing Linux Computers.
|
Compilers
|
Debuggers
|
|
GNU gcc, g++
|
gdb
|
|
Portland Group pgcc,pgf77,pgCC,pgf90
|
pgdbg
|
|
Intel compilers icc, ifort
|
idb
|
|
Java compiler javac
|
jdb
|
|
Works with GNU, Intel, and Portland
Group Compilers
|
Totalview
|
Notes on the Debuggers
All of the compilers can be used in three different modes: To interactively
run and debug a program, to debug a core file that was created by a program, or
to connect to a running process. The documentation for each debugger provides
information about how to run them.
gdb is the debugger used for code compiled with the GNU compilers gcc and g++. It can be run from the
command line, from emacs or xemacs, from ddd or from eclipse.
pgdb is the debugger for the Portland
Group compilers. If you are running X Windows, pgdb has a graphical user
interface; otherwise, it has a command-based interface.
idb is the debugger for the Intel compilers.
It can be configured to run using the gdb or
dbx commands. It can be run with a command-based interface,
from emacs, xemacs, or ddd.
jdb is the command line debugger for java.
TotalView is a powerful GUI-based debugger that works with several
compilers, including the GNU, Portland Group, and Intel Compilers. It can debug
MPI, OpenMP, and other threaded C/C++ or Fortran programs.
Documentation for the Debuggers