Totalview® User Guide : PART II Debugging Tools and Tasks : Chapter 8 Setting Action Points : Setting Breakpoints and Barriers : Setting Source-Level Breakpoints
Setting Source-Level Breakpoints
Typically, you set and clear breakpoints before you start a process. To set a source-level breakpoint, select a boxed line number in the Process Window. (A boxed line number indicates that the line is associated with executable code.) A icon lets you know that a breakpoint is set immediately before the source statement.
CLI: @ next to the line number denotes a breakpoint
You can also set a breakpoint while a process is running by selecting a boxed line number in the Process Window.
CLI: dbreak -- to set a breakpoint whenever the CLI displays a prompt
Choosing Source Lines
If you’re using C++ templates, TotalView sets a breakpoint in all instantiations of that template. If this isn’t what you want, clear the button and then select the Addresses button in the Action Point Properties Dialog Box. You can now clear locations where the action point shouldn’t be set.
 
Figure 91 – Action Point and Addresses Dialog Boxes
Initially, addresses are either enabled or disabled, but you can change their state by clicking the checkbox in the first column. The checkbox in the columns bar enables or disables all the addresses. This dialog supports selecting multiple separate items (Ctrl-Click) or a range of items (Shift-Click or click and drag). Once the desired subset is selected, right-click one of the selected items and choose Enable Selection or Disable Selection from the context menu.
Filtering
In massively parallel programs, the number of addresses can become very large, so the Addresses dialog has several mechanisms to help you manage the data. The search box filters the currently displayed data based on one or more space-separated strings or phrases (enclosed in quotes). Remember that data not currently displayed is not included in the filtering. It may be helpful to click the Detailed Information checkbox, which displays much more complete information, giving you more possibilities for filtering.
Sorting
Clicking on the column labels performs a sort based on the data in that column. Each click toggles between ascending and descending order. If entry values in a column are the same, the values of the column to the right of the sorted column are examined and sorted based on those values. If the values are the same, the next column is examined and so on, until different values are found. The Addresses dialog uses a stable sort, i.e. if all the entries are the same in the selected column and in the columns to the right, the list is not modified.
Displaying and rearranging columns
Finally, right-clicking in the columns bar presents a context menu for displaying or hiding columns. All are initially displayed except Image. You can reorder the columns by selecting a column label and dragging it to a new location.
Keyboard Shortcuts
To provide easy access to the buttons at the bottom of the Addresses dialog, the following mnemonic keys have been assigned.
 
Button
Keyboard Sequence
OK
Alt-o
Cancel
Alt-c
Help
Alt-h
Similarly, in a multi-process program, you might not want to set the breakpoint in all processes. If this is the case, select the Process button.
Figure 92 – Setting Breakpoints on Multiple Similar Addresses and on Processes