5.15.1 Breakpoint actions and trace points

Optionally, a single action can automatically be performed when a breakpoint is hit, using the action argument of breakpoint_set(). This action is performed before the IRIS_BREAKPOINT_HIT callback is called.

Breakpoint actions are useful for breakpoints that do not stop the simulation time, which is controlled by the dontStop argument of breakpoint_set(). The action is performed without involving the client, which reduces latency.

The action argument of breakpoint_set() supports the following values:

Enable the event stream esId. Ignored if the event stream is already enabled. The event stream esId must have been created before this breakpoint is set.
Disable the specified event stream esId. Ignored if the event stream is already disabled.

These two actions can be used to implement trace points. For more information, see Arm Development Studio User Guide on the Arm Developer website.

Only a single action is supported for each breakpoint, but you can set multiple identical breakpoints with different actions. The actions are executed in an undefined order.

Breakpoints can trigger arbitrary actions by implementing them in the client in the IRIS_BREAKPOINT_HIT callback. To execute the action synchronously with the breakpoint hit, set the breakpoint with syncEc=true to achieve a synchronous IRIS_BREAKPOINT_HIT callback. Depending on the frequency of the breakpoint hit events, this might severely affect performance, especially for clients connected using IPC.

Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.