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 run
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...
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.