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.
Purify: Run-time Memory Checker
Purify is designed to track down memory leaks and invalid memory use errors quickly and easily. Purify is installed in
/s/purify on the Solaris Sparc workstations.
The current version of Purify is 2003a.06.15.
On Solaris systems:
To use Purify with
g++ use:
purify followed by the normal compile and link options. For example, to link and purify foo with foo.o and bar.o:
purify gcc foo.o bar.o -o foo
On Windows 95/98/ME/NT/2000 systems:
PurifyPlus for Windows (Purify/Quantify/!PureCoverage bundled as one product) is available on lab-supported Windows computers. To use it, you can use the command-line syntax, as documented above for Solaris computers, or use extensions built in for Visual Studio 6 or Visual .NET development environments. Computers with these development environments and PurifyPlus will have added tools available within the development GUI interface.
On Linux systems:
To use Purify with
g++ use:
purify followed by the normal compile and link options. For example, to link and purify foo with foo.o and bar.o:
purify gcc foo.o bar.o -o foo
purecov: Test Coverage Measurement Tool
Purecov is a test coverage measurement tool. It is installed in
/s/purecov on Solaris Sparc workstations.
Purecov is also available within
PurifyPlus for Linux and
PurifyPlus for
Windows
quantify: Profile Programs And Analyze Performance Bottlenecks
quanitfy is installed in
/s/quantify on Solaris Sparc workstations.
Quantify functionality is also available within
PurifyPlus for Linux and
PurifyPlus for Windows.
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: