This is an old revision of the document!

Quick start: Debugging MPI programs on Mogon

  1. Make the libraries available which are needed for compilation and execution, e.g.
    $ module purge 
    $ module add gcc/4.7.0 mpi/openmpi/1.6.1/gcc_4.7.0
  2. Modify your program by including the “selective-debug1) wrapper and use the BREAKPOINT_AND_SLEEP() macro to halt where appropriate.
    #include “selective-debug.h”
    if(my_rank == <rank on which the problem exists>) {
    	BREAKPOINT_AND_SLEEP(10); //delay of 10 seconds, allowing gdb to start up and halt the program
  3. Compile your program with the switch -g 2), e.g.
    $ mpicc <your program> -g -o <executable program>
  4. Enqueue your Job

In case selective-debug is not available in your $PATH environment, you can view and download the current version here.
Generate debugging information. This information is stored in the object file and copied from there to the final executable file by the linker, where it can be read by the debugger. You must use the -g switch if you plan on using the debugger.
  • debug_quickstart.1380015082.txt.gz
  • Last modified: 2013/09/24 11:31
  • by ulges