TotalView comes up in mpirun (or poe or prun or whatever). How can I fix it?

 

If your program uses a starter program such as mpirun, starting your program means that TotalView will begin by showing the starter program's assembler code. Unless you're debugging the starter program, this isn't what you want. Here's a CLI program that tells TotalView to skip over this code. Add it to your .tvdrc file.

#  Set your starter program to poe or  mpirun or prun or whatever'
set starter_program poe
#
# Check if the newly loaded image is the starter program
# and start it immediately if it is.
#
proc auto_run_starter {loaded_id} {
global starter_program
set prog_name [TV::symbol get $loaded_id full_pathname]
set file_component [file tail $prog_name]

if {[string compare $file_component $starter_program] == 0} {
puts "Automatically starting $file_component"
dgo
}
}

# Append this function to Totalview's image load callbacks so that
# TotalView run this program automatically.
dlappend TV::image_load_callbacks auto_run_starter

You'll find information on starting parallel programs in Chapters 5 and 6 of the "TotalView Users Guide". Information on .tvdrc files is in Chapter 3. The CLI is described in the "TotalView Users Guide" and the "TotalView Reference Guide."


You can find tips that we've already sent out in our Tip Archive

Help us improve these tips!