Development Tools: Debugging

Debuggers and memory/thread profilers are often associated with a specific compiler to be used only with the accompanying compiler. Some, however, may work across compiler suites. This page lists a few debuggers and profilers used for application development.

GNU Debugger (GDB)

GDB is part of the GNU project and is available on all nodes by default. Documentation is available on the GDB website and by typing "man gdb".

Valgrind

Valgrind is an instrumentation framework for debugging and profiling applications. It is commonly used for detecting memory errors and leaks. It is also useful for debugging cache memory usage to help make your programs run faster. Documentation is available on the Valgrind website or from the manpage by typing "man valgrind".

The system version of Valgrind is 3.8.1. For a newer version of Valgrind, load the valgrind module:

module load valgrind

Intel Debugger (IDB)

The Intel debugger is included in the Intel compiler suite. "idb" can be found in your PATH after loading the Intel compiler module.

Portland Group Debugger

The PGI compilers come with a graphical debugger and memory profiler (pgdbg). Using the GUI requires X to be installed on your workstation, however it will drop to a console-only version when X is not available. The debugger is present in your PATH after loading the PGI compiler module