Actions points lets you specify an action for TotalView to perform when a thread or process reaches a source line or machine instruction in your program.The different kinds of action points that you can use are shown in Figure 222.When a thread encounters a breakpoint, it stops at the breakpoint. Other threads in the process also stop. You can indicate that you want other related processes to stop, as well. Breakpoints are the simplest kind of action point.Barrier points are similar to simple breakpoints, differing in that you use them to synchronize a group of processes or threads. A barrier point holds each thread or process that reaches it until all threads or processes reach it. Barrier points work together with the TotalView hold-and-release feature. TotalView supports thread barrier and process barrier points.An eval point is a breakpoint that has a code fragment associated with it. When a thread or process encounters an eval point, it executes this code. You can use eval points in a variety of ways, including conditional breakpoints, thread-specific breakpoints, countdown breakpoints, and patching code fragments into and out of your program.A watchpoint tells TotalView to either stop the thread so that you can interact with your program (unconditional watchpoint), or evaluate an expression (conditional watchpoint).
You can independently enable or disable action points. A disabled action isn’t deleted; however, when your program reaches a disabled action point, TotalView ignores it.
Action points apply to the process. In a multi-threaded process, the action point applies to all of the threads associated with the process.
TotalView assigns unique ID numbers to each action point. These IDs appear in several places, including the Root Window, the Action Points Tab of the Process Window, and the Action Point > Properties Dialog Box.
Figure 222: Action Point Symbols The icon is what TotalView displays when you create a breakpoint on an assembler statement.
CLI: dactions -- shows information about action points
All action points display as “@” when you use the dlist command to display your source code. Use the dactions command to see what type of action point is set.When your program halts because it encountered an action point, TotalView lets you know what has happened in several ways. In the Root Window, the status is displayed with the letter “b” followed by a number. This is the same number that you will see in the Action Points tab within the Process Window. In the Process Window, the status lines above the Source Pane also let you know that the thread is at a breakpoint. Finally, TotalView places a yellow arrow over the action point’s icon in the Action Point tab. For example:
Figure 223: Action Points Tab If you are working with templated code, you will see an ellipsis (...) after the address, indicating that there are additional addresses associated with the breakpoint.
Rogue Wave Software, Inc. |
Voice: (303) 473-9118 |
rwonlinedocs@roguewave.com |