Totalview® Reference Guide : PART I CLI Commands : Chapter 4 Batch Debugging Using tvscript : tvscript External Script Files : Action Point API
Action Point API
tvscript_add_actionpoint_handler actionpoint_id actionpoint_handler
Registers a procedure handler to call when the action point associated with actionpoint_id is hit. This actionpoint_id is the value returned from the tvscript_create_actionpoint routine. The value of actionpoint_handler is the string naming the procedure.
When tvscript calls an action point handler procedure, it passes one argument. This argument contains a list that you must convert into an array. The array indices are as follows:
event—The event that occurred, which is the action point
process_id—The ID of the process that hit the action point
thread_id—The ID of the thread that hit the action point
actionpoint_id—The ID of the action point that was hit
actionpoint_source_loc_expr—The initial source location expression used to create the action point
tvscript_create_actionpoint source_loc_expr
Creates an action point using a source location expression.
This procedure returns an action point ID that you can use in a tvscript_add_actionpoint_handler procedure.
source_loc_expr
Sets a breakpoint at the line specified by source_loc_expr or an absolute address. For example:
[[##image#]filename#]line_number
Indicates all addresses at this line number.
A function signature; this can be a partial signature.
Indicates all addresses that are the addresses of functions matching signature. If parts of a function signature are missing, this expression can match more than one signature. For example, “f” matches “f(void)” and “A::f(int)“. You cannot specify a return type in a signature.
You can also enter a source location expression with sets of addresses using the class and virtual keywords. For example:
class class_name
Names a set containing the addresses of all member functions of class class_name.
virtual class::signature
Names the set of addresses of all virtual member functions that match signature, and that are in the classes or derived from the class.
If the expression evaluates to a function that has multiple overloaded implementations, TotalView sets a barrier on each of the overloaded functions.