Intel® Trace Analyzer and Collector User and Reference Guide

ID 767272
Date 3/31/2023
Public
Document Table of Contents

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>