TotalView* Debugger
For TotalView* Debugger, it is necessary to pay attention that the breakpoint
should be set for all processes. There are several ways to automate procedure of
setting breakpoints. Mostly it depends on how commonly it is planned to use this
automation.
If it is planned to apply it only for the current program, you can create the file
filename.tvd
(file name being
the name of the executable) in the working directory in advance and put the
following line into it:dfocus gW2 dbreak MessageCheckingBreakpoint
Alternatively, you can set the breakpoint in the TotalView* GUI and save
breakpoints, which will also create this file and then reuse the settings for
further debug sessions with the same executable.
To apply setting this breakpoint for all programs in current working directory,
create a file
.tvdrc
with the
following lines (or add them if it already exists):proc my_callback {_id} { if { $_id == 2 } { dfocus p$_id dbreak MessageCheckingBreakpoint } if { $_id > 2 } { dfocus p$_id denable -a } } dset TV::process_load_callbacks ::my_callback
To apply this for all debugging sessions, add these lines to the following file
$HOME/.totalview/tvdrc
.Run your MPI application as follows:
$ mpirun -check_mpi -tv -n <numprocs> <app>