Deprecated: please see new documentation site.


"DDT, the Distributed Debugging Tool is a comprehensive graphical debugger for scalar, multi-threaded and large-scale parallel applications that are written in C, C++ and Fortran."

Version and availability

Due to license restriction, version 2.6 is available only on Eric and Queen Bee. For LSU users, it is also available on Tezpur and Philip.


Setting up the environment

Add "+ddt-2.6" to your .soft and resoft. You can test that "ddt" is now in PATH:

[lyan1@eric2 ~]$ which ddt

Getting X window to work

You need to make sure that X window works to get the DDT GUI.

  • For *nix users
    • Connect to the cluster with -X -Y turned on: ssh -X -Y username@hostname
  • For Mac Os X users
    • Use the X11 utility to connect to the cluster
  • For Windows users
    • Install Xming and Putty
    • Enable X11 Forwarding in Putty

Detailed information can be found in the X11 Forwarding article.

Compiling your program

You need to compile your program with NO optimization and the debugging flag turned on:

% icc -O0 -g myfile.c -o myexec

Getting an interactive debugging session

It is not a good idea to run DDT on the head node as it could take quite some resources such as cpu cycles and memory. Instead, we need to set up an interactive session on some computation nodes and run DDT there.

Here is an example of how to set up an 4-hour interactive session with 2 nodes (16 cores) on Queen Bee (Detailed information on how to set up an interactive session can be found here):

  • First, submit an interactive job (you might end up waiting in the queue for a while):
qsub -I -X -V -l walltime=4:00:00,nodes=2:ppn=8 -A my_loni_allocation -q checkpt
  • After you interactive job starts to run, you will see something like this:
PBS has allocated the following nodes:
  • Now you can type "ddt" to launch it.


DDT User's Guide is available on line.

Usage Notes

Note 1: When using a version of MVAPICH2 newer than 1.2, there are two versions of the MPI task manager to choose from. One uses the MPD daemons and the other uses a mechanism based on SSH. The latter is preferred as it gives much better scaling performance at high process counts. To select, set DDTMPIRUN to the absolute path of the launch manager you wish to use: 'mpirun' which requires mpd daemons, or 'mpirun_rsh' which is the preferred SSH based launcher. Assuming you have an MVAPICH2 softenv key, a quick way to set it is:

 $ export DDTMPIRUN=`which mpirun_rsh`


 $ export DDTMPIRUN=`which mpirun`

If you chose 'mpirun', you'll have to make sure the mpd processes are launched before your start up DDT. This is the task manager used by default if MVAPICH2 is selected as the MPI type from within the DDT GUI.

Users may direct questions to

Powered by MediaWiki