Use offline debugging

To use offline debugging, specify the –offline argument. Optionally, specify an output filename with the –output=<filename> argument. A filename with a .html or .htm extension will generate an HTML version of the output. In other cases, a plain text report will be generated. If the –output argument is not used, an HTML output file will be generated in the current working directory and reports the name of that file upon completion.

ddt --offline mpiexec -n 4 myprog arg1 arg2
ddt --offline -o myjob.html mpiexec -n 4 myprog arg1 arg2
ddt --offline -o myjob.txt mpiexec -n 4 myprog arg1 arg2
ddt --offline -o myjob.html --np=4 myprog arg1 arg2
ddt --offline -o myjob.txt --np=4 myprog arg1 arg2

Additional arguments can be used to set breakpoints, at which the stack of the stopping processes will be recorded before they are continued. You can also set tracepoints at which variable values will be recorded, and set expressions to be evaluated on every program pause.

Settings from your current configuration file will be taken, unless over-ridden on the command line.

Command line options that are of the most significance for this mode of running are:

The program will run to completion, or to the end of the job.

When errors occur, for example a program crash, the stack back trace of crashing processes is recorded to the offline output file. In offline mode, it is as if you clicked Continue if the continue option was available in an equivalent 'online' debugging session.

Read a file for standard input

In offline mode, normal redirection syntax can be used to read data from a file as a source for the executable's standard input.

Examples:

cat <input-file> | ddt --offline -o myjob.html ...
ddt --offline -o myjob.html ... < <input-file>

Write a file from standard output

Normal redirection can also be used to write data to a file from the executable's standard output:

ddt --offline -o myjob.html ... > <output-file>