However, the bp.memory.break command uses the front end processor which is inefficent from within breakpoint-intensive scripts.
I didn't quite understand why this is inefficient. BTW, the bp.memory.break
takes optional object
parameter that can be use to select the object to set a breakpoint on.
Using a mix of SIM_breakpoint (for efficiency) and bp.memory.break (to set a prefix) seems dangerous because the bp.manager and SIM_breakpoint are not exclusive on their use of breakpoint numbers.
Yes, it is true. The numbers assigned are different.
Is there a low-level Python API in Simics for setting breakpoints with prefixes?
The functionality is not available as Python API but one can "manually" update sim->breakpoints
attribute to set the required prefix. From Python the attribute is available as conf.sim.attr.breakpoints
. One can get the documentation for the attribute with the help sim->breakpoints
command.
is inefficent from within breakpoint-intensive scripts
I don't know your performance requirements and whether this Python code is a bottle-neck but can note that rewriting related code in C can definitely give a performance boost.