Contents 1 -- TotalView Command Line Interface What Is the CLI Document Contents Conventions Reporting Problems 2 -- A Few CLI/Tcl Macros Setting the EXECUTABLE_PATH State Variable Initializing an Array Slice Printing an Array Slice Writing an Array Variable to a File Setting Breakpoints 3 -- Groups, Processes, and Threads A Couple of Processes Some Threads Even More Complicated Programming Models More on Threads Types of User Threads Organizing Chaos Creating Groups Simplifying What You're Debugging Setting Process and Thread Focus Process/Thread Sets Arenas GOI, POI, and TOI Specifying Processes and Threads The Thread of Interest Process and Thread Widths Examples Setting Group Focus Specifying Groups in P/T Sets Specifier Combinations All Does Not Always Mean All Setting Groups An Extended Example Incomplete Arena Specifiers Lists with Inconsistent Widths Stepping Thread Process Group Using duntil How do I ... "Piling Up" vs. "Running Through" P/T Set Expressions 4 -- Using the CLI How a Debugger Operates Tcl and the CLI The CLI and TotalView The CLI Interface Starting the CLI Initializing the Debugger Start-up Example Starting Your Program CLI Output "more" Processing Command Arguments Symbols Namespaces Symbol Names and Scope Qualifying Symbol Names Command and Prompt Formats Built-In Aliases and Group Aliases Effects of Parallelism on TotalView and CLI Behavior Kinds of IDs Controlling Program Execution Advancing Program Execution Action Points 5 -- Type Transformations Type Transformation Defined Creating Type Transformations Using Type Transformation Defining Prototypes Objects Used in Type Transformation Creating a struct Type Transformation Validating the Type: the list_validate Procedure Redefining the Type: list_type Procedure Creating the Prototype Making a Callback for a Structure Element Applying Prototypes to Images Initializing TotalView After Loading an Image An Array-Like Example Indicating if a Type Is Mapped: The vector_validate Callback Returning the Type: The vector_type Callback Returning the Rank: The vector_rank Callback Returning the Bounds: The vector_bounds Callback Returning the Address: The vector_address Callback The typedef Callback Utility Procedures The read_store Utility Procedure The ultimate_base Utility Procedure The extract_offset Utility Procedure Creating the Prototype Distributed Arrays Visualizing a Distributed Array with Node Information The Type Transformation for mandel.c Validating the Data Type: The da_validate Function The da_distribution Callback Procedure The Distributed Addressing Callback Addressing Expressions Debugging Tcl Callback Code 6 -- CLI Commands actionpoint alias capture dactions dassign dattach dbarrier dbreak dcheckpoint dcont ddelete ddetach ddisable ddown dec2hex denable dfocus dgo dgroups dhalt dhold dkill dlappend dlist dload dnext dnexti dout dprint dptsets drerun drestart drun dset dstatus dstep dstepi dunhold dunset duntil dup dwait dwatch dwhat dwhere dworker errorCodes exit focus_groups focus_processes focus_threads group help hex2dec image process prototype quit respond stty source_process_startup thread type unalias A CLI Command Summary B CLI Command Default Arena Widths C Distributed Array Type Mapping The cyclic_array.tcl Type Mapping File Glossary Citations