Debugging And Program Analysis Tools
gdb Debugger
gdb is the GNU debugger. Although originally designed to operate with the GNU C compiler (gcc), gdb can be used to debug programs compiled from a variety of different compilers, including vendor-supplied C and Fortran compilers on several platforms (if compiled with debugger symbol information).
Emacs includes a GDB mode for simultaneously debugging and editing programs.
ddd: Data Display Debugger
ddd is a wrapper around the GDB, DBX, or XDB debuggers. In addition to the command-line interface of the dependent debugger, DDD provides a common graphical user interface to support debugging tasks. The DDD graphical data display allows for interactive exploration of data structures.
dbx Debugger
dbx is the Berkeley UNIX symbolic debugger. It is available on Solaris and is most useful with the vendor-provided compilers.
dbx can only be used on programs compiled with debugging information included (usually by compiling with the
-g option). Core dumps can also be probed using dbx to determine the cause of the crash.
Dbx on different architectures may have slightly different features enabled or enhanced. Consult the appropriate dbx manual page on the for specifics.
Valgrind
Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. Please refer to the man pages or the distribution webpage at
http://www.valgrind.org for further information.
PurifyPlus
PurifyPlus is suite of programs from IBM:
-
Purify: memory corruption and leak detection
-
Quantify: application performance profiling
-
PureCoverage: code coverage analysis
This is currently installed in
/s/purifyplus/bin for Linux platforms. As of this writing, some features do not work properly under RHEL 6 (RHEL 5 computers work fine). When IBM releases an update that works with RHEL6, we will make that available to our users. See IBM's
PurifyPlus website for more information on the capabilities and requirements of this product.
VTune Amplifier XE
Intel's VTune Amplifier XE is a profiler product for Linux and Windows platforms. More information on its capabilities can be found at Intel's
VTune Amplifier website. This product is available for use on any non-instructional Linux platforms by request; contact the
CSL to have this product installed on your workstation. Windows users using CSL-supported Windows installations may install this product via the
Run Advertised Programs control panel app.
Sun Workshop Integrated Development Environment
Sun Workshop is an integrated development environment available on all our Solaris workstations. A dbx-based debugger is part of the Workshop environment.
To use the Sun Workshop, you will need to run
/usr/openwin/bin/ttsession first. Then run
workshop
Note: OpenWindows and the Sun Workshop Integrated Development Environment are not supported by the Computer Systems Lab. The compilers included in Sun Workshop are supported.
See Also: