Action points tell the CLI to stop a program’s execution. You can specify the following types of action points:
• A breakpoint (see dbreak in the TotalView for HPC Reference Guide) stops the process when the program reaches a location in the source code.
• A watchpoint (see dwatch in the TotalView for HPC Reference Guide) stops the process when the value of a variable is changed.
• A barrier point (see dbarrier in the TotalView for HPC Reference Guide), as its name suggests, effectively prevents processes from proceeding beyond a point until all other related processes arrive. This gives you a method for synchronizing the activities of processes. (You can only set a barrier point on processes; you can’t set then on individual threads.)
• An eval point (see dbreak in the TotalView for HPC Reference Guide)lets you programmatically evaluate the state of the process or variable when execution reaches a location in the source code. An eval point typically does not stop the process; instead, it performs an action. In most cases, an eval point stops the process when some condition that you specify is met.
Each action point is associated with an action point identifier. You use these identifiers when you need to refer to the action point. Like process and thread identifiers, action point identifiers are assigned numbers as they are created. The ID of the first action point created is 1; the second ID is 2, and so on. These numbers are never reused during a debugging session.
The CLI and the GUI let you assign only one action point to a source code line, but you can make this action point as complex as you need it to be.