Setting Breakpoints and Stepping through a Program
Action Points (breakpoints)
An action point is TotalView’s much more powerful version of a breakpoint. Here are the four types:
• Breakpoint - stops execution of the processes or threads that reach it.
• Process Barrier Point - holds each process when it reaches the barrier point until all processes in the group have reached the barrier point. Primarily for MPI programs.
• Evaluation Point - executes a code fragment when it is reached. Enables you to set “conditional breakpoints” and perform conditional execution.
• Watchpoint - monitors a location in memory and either stops execution or evaluates an expression when the value stored in memory is modified.
Set action points in the Process Window with a single left-click on the line number. TotalView displays a sign.
Figure 11 – Breakpoint Set At a Line
View all action points in the Process Window’s Action Points tab.
Figure 12 – Action Points Tab
When your program halts on an action point, TotalView reports this status in various ways, including in the Root Window, the Process Window’s Source Pane, and through a yellow arrow (see above figure) on the Action Points tab.
Once you have created an action point, you can save, reload, suppress, and redefine its characteristics in a number of ways. You can set action points on all functions within a class or on a virtual function, and finely control how action points work in multi-threaded multi process programs.