Debugging simulations

Simulations can be instrumented with VisIt's libsim library in order to expose their meshes and arrays to VisIt for in situ visualization.


GDB is a uesful debugger for simulations since you can use it to run the simulation that will be debugged or you can attach to a running simulation.

launching gdb in parallel

Debugging multiple tasks under gdb when launching them under mpirun takes some special gymnastics. Normally, attaching to single running processes is adequate. However, when programs fail on start up, launching them under the debugger may be needed. This example shows how to use a GDB command file to debug the updateplots_par example simulation provided in VisIt's /src/tools/DataManualExamples/Simulations directory.

  • The parallel launcher will start 2 instances of xterm with each xterm program running the gdb debugger on the updateplots_par example simulation.
  • This pattern can be applied to multiple parallel launchers such as mpirun and srun.

GDB gdb-updateplots command file:

path /Users/username/Development/SimCollab/src/tools/DataManualExamples/Simulations
file updateplots_par

directory /Users/username/Development/SimCollab/src/tools/DataManualExamples/Simulations
directory /Users/username/Development/SimCollab/src/sim/V2/lib
directory /Users/username/Development/SimCollab/src/sim/V2/runtime
directory /Users/username/Development/SimCollab/src/databases/SimV2

set args -dir ../../.. -trace trace -batch

GDB command for mpirun:

mpirun -np 2 xterm -title debug -e gdb -q -x gdb-updateplots

GDB command for srun:

srun -n 2 xterm -title debug -e gdb -q -x gdb-updateplots


fill this in...

Trace Files

SimV2 introduced the concept of a trace file, which is a text file that contains a history of the libsim functions that your simulation has called.