TotalView Debugger C/C++ Debugger Features

TotalView puts at your fingertips the broadest and most complete set of C/C++ debugging capabilities available

TotalView gives you the power and flexibility to debug even the most complex code, and you have more control over your debugging session than with any other debugger. It is accurate — it won’t give you false values or provide incorrect state or status.

This premium debugger provides a unique package of reliability, feature richness, ease of use, and advanced functionality, supporting our claim that TotalView is the best C/C++ debugger available on Linux and UNIX platforms. How much time, money, and frustration will TotalView save you on your C/C++ development projects? Try it for free and find out.

 

Easily debug code containing templates

TotalView understands multiple instances of templated code. You can easily set breakpoints on all instances of a template. And you can choose to enable only the instances you really care about.

Setting a breakpoint on a particular instantiation works in a similar fashion. TotalView finds all
instantiations of a template, and simply lets you choose those on which to set the breakpoint.

 
Quickly find elusive bugs within overloaded methods

TotalView understands overloaded methods and directs you to, or lets you select, the right one. This means you’ll quickly and accurately find potentially elusive problems. Where other debuggers are confused by overloaded methods, TotalView gets it right.

Call C++ functions

TotalView lets you use C++ functions in breakpoints. For example, within a conditional breakpoint or evaluation point, you can include something like:

if (‘A’ == b1.getData() ) {$stop}

TotalView also lets you watch the value of C++ expressions as they change in the Expression List Window.

 

Makes shared libraries and header file code easy to debug

TotalView makes debugging shared libraries easier than ever by automatically noticing when your program loads them. This allows you to stop the process and conveniently set breakpoints within the code contained in the library. And it lets you easily debug code in header files. It all adds up to making shared libraries and header code as easy to debug as any other part of your code, no matter how complex it gets.

 

Type transformation improves object displays

Sometimes debuggers don't know enough about an object to display it as you would expect to see it. Our Type Transformation Facility (TTF) solves this problem. You can tell TotalView how you want to display things like non-native types or STL constructs. Once you create a TTF prototype, TotalView always displays the object as you have defined it. See Creating Type Transformations in our reference guide for information on how to create your own transformations.

 

STLView transforms templates into readable and understandable information

TotalView’s STLView makes it easier than ever to view and debug standard template library code and data. The C++ STL (Standard Template Library) greatly simplifies your access to containers and eliminates tedious work. However, it can also be difficult to make sense of the output presented to you during your debug session. This is because the information you are shown is the compiler’s view of your data rather than the STL’s logical view.

STLView removes this debugging obstacle by transforming the output of common templates (map, list, vector and string) into easy to read and understand information. It’s a big step forward in C++ debugging. You can also create your own transformations with TTF. Our STLView page has more information and examples.