TVScript
TVScript provides non-interactive debugging with TotalView, simply yet effectively, with a single command. Use TVScript to define points of interest in your program and corresponding actions for TotalView to take. TVScript drives TotalView without any further input from you, generating a log of all actions taken. Inspect the log, make changes to your program, and rerun TVScript as often as necessary.
TVScript supports serial, multithreaded and MPI programming models and has full access to the memory debugging capabilities of TotalView. A limited version of TVScript, MemScript, can be used in the same way with MemoryScape, for memory debugging.
- Debug applications within a batch execution environment: many supercomputers are operated using a resource manager, such as PBSPro or LSF, which provides system access using a batch queue. It can be inconvenient or almost impossible to get an interactive session. Use TVScript to debug in batch mode using the normal batch execution queues.
- Examine program behavior over time: some problems are easiest to track down by analyzing the behavior of a specific section of code over an extended period of time. TVScript easily supports this debugging approach.
- Systematic analysis: certain kinds of problems call for you to examine a suite of different execution runs, perhaps with a range of parameter settings or input files. TVScript can make it trivial to perform experiments that would otherwise be very tedious working manually and interactively.
- Regression testing: it is never fun to fix the same bug over and over. Once you've eliminated an error such as a memory leak in code that is still in development, you want to make sure that future work doesn't re-introduce that error. TVScript and MemScript can be used to incorporate sensitive leak and array bounds error detection into your ongoing regression testing system, alerting you to problems early in the development cycle, when they are easier to fix.