User_Guides : Classic TotalView User Guide : About This Guide : About This Guide
About This Guide
Content Organization
This guide describes how to use the TotalView debugger, a source- and machine-level debugger for multi-process, multi-threaded programs. It is assumed that you are familiar with programming languages, a UNIX or Linux operating system, and the processor architecture of the system on which you are running TotalView and your program.
This user guide combines information for running the TotalView debugger either from within a Graphic User Interface (GUI), or the Command Line Interface (CLI), run within an xterm-like window for typing commands.
The information here emphasizes the GUI interface, as it is easier to use. Understanding the GUI will also help you understand the CLI.
Although TotalView doesn’t change much from platform to platform, differences between platforms are mentioned.
The information in this guide is organized into these parts:
*Part I, Introduction to Debugging with TotalView contains an overview of TotalView features and an introduction to debugging with TotalView.
*Part II, Debugging Tools and Tasks describes the function and use of TotalView’s primary set of debugging tools, such as stepping, setting breakpoints, and examining data including arrays.
This part also includes detail on TotalView’s process/thread model and working with multi-process, multi-threaded programs.
*Part III, Using the CLI discusses the basics of using the Command Line Interface (CLI) for debugging. CLI commands are not documented in this book but in the Classic TotalView Reference Guide.
*Part IV, Advanced Tools and Customization provides additional information required for setting up various MPI and other parallel programming environments, including high performance computing environments such as MPICH, OpenMP, UPC, and CAF. Setting Up Remote Debugging Sessions discusses how to get the TotalView Debugger Server (tvdsvr) running and how to reconfigure the way that TotalView launches the tvdsvr. Group, Process, and Thread Control builds on previous process/thread discussions to provide more detailed configuration information and ways to work in multi-process, multi-threaded environments.
In most cases, TotalView defaults work fine and you won’t need much of this information.
*Part V, Using the CUDA Debugger describes the CUDA debugger, including a sample application.
Audience
Many of you are sophisticated programmers with knowledge of programming and its methodologies, and almost all of you have used other debuggers and have developed your own techniques for debugging the programs that you write.
We know you are an expert in your area, whether it be threading, high-performance computing, or client/server interactions. So, rather than telling you about what you’re doing, this book tells you about TotalView.
TotalView is a rather easy-to-use product. Nonetheless, we can’t tell you how to use TotalView to solve your problems because your programs are unique and complex, and we can’t anticipate what you want to do. So, what you’ll find in this book is a discussion of the kinds of operations you can perform. This book, however, is not just a description of dialog boxes and what you should click on or type. Instead, it tells you how to control your program, see a variable’s value, and perform other debugging actions.
Detailed information about dialog boxes and their data fields is in the context-sensitive Help available directly from the GUI. In addition, an HTML version of this information is shipped with the documentation and is available on our Web site. If you have purchased TotalView, you can also post this HTML documentation on your intranet.
Using the CLI
To use the Command Line Interface (CLI), you need to be familiar with and have experience debugging programs with the TotalView GUI. CLI commands are embedded within a Tcl interpreter, so you get better results if you are also familiar with Tcl. If you don’t know Tcl, you can still use the CLI, but you lose the ability to program actions that Tcl provides; for example, CLI commands operate on a set of processes and threads. By using Tcl commands, you can save this set and apply this saved set to other commands.
The following books are excellent sources of Tcl information:
*Ousterhout, John K. Tcl and the Tk Toolkit. Reading, Mass.: Addison Wesley, 1997.
*Welch, Brent B. Practical Programming in Tcl & Tk. Upper Saddle River, N.J.: Prentice Hall PTR, 1999.
There is also a rich set of resources available on the Web.
The fastest way to gain an appreciation of the actions performed by CLI commands is to scan “CLI Command Summary” of the Classic TotalView Reference Guide, which contains an overview of CLI commands.
Resources
Appendix C contains information on:
*TotalView family differences, which details the differences among TotalView Enterprise, TotalView Team, and TotalView Individual
*a complete list of TotalView documentation
*conventions used in the documentation
*contact information