![Intel IXP2400 User Manual Download Page 129](http://html1.mh-extra.com/html/intel/ixp2400/ixp2400_user-manual_2071795129.webp)
Development Tools User’s Manual
129
IXP2400/IXP2800 Network Processors
Developer Workbench
2.13.10
About Breakpoints
In the source view, when you set a breakpoint on a line, a breakpoint marker appears on that line
and a breakpoint is set on the first instruction that it generates. In the list view, it is possible to set
breakpoints on multiple lines that are generated by the same C source line. In this case, the marker
that is displayed on the source line in the source view depends on the state of the breakpoints on the
generated lines.
•
If all breakpoints have the same status, then the source line marker reflects that status. In this
situation, you can perform a breakpoint action on the source line and the action is performed
on all the breakpoints on the generated lines. For example, if all are disabled, then the
disabled-breakpoint marker is displayed on the source line. If you enable the breakpoint on the
source line, all breakpoints on generated lines are enabled.
•
If the breakpoints do not have the same status, then a distinct marker consisting of a red circle
filled with dark gray is displayed on the source line. In this situation, the only supported action
is to enable all the breakpoints by executing an
Insert/Remove Breakpoint
command.
In an assembled thread, when you set a breakpoint on a line containing a collapsed macro
reference, a breakpoint marker is displayed on that line and a breakpoint is set on the first
instruction that the macro generates. If you then expand that macro reference, the breakpoint
marker is displayed on the generated line.
For situations where there are breakpoints on multiple lines generated by a collapsed macro, the
breakpoint marker and supported actions are the same as described above for the C source line.
Note:
You cannot set a breakpoint while a simulation is running or when Microengines are running in
hardware.
Thread Window Action Taken:
When a breakpoint is reached during execution:
•
The thread window that reached the breakpoint is activated.
•
The appropriate instruction is displayed and marked.
•
A message box appears (if set) indicating the breakpoint was reached.
To disable the display of this message box, on the
Debug
menu, select or clear the Report
Breakpoint Hit option.
All Contexts, Some Contexts and Conditional Breakpoints:
A breakpoint can be set for all contexts, some contexts, or conditionally.
•
All context
breakpoints halts execution when any context in the Microengine reaches that
instruction.
•
Some context
breakpoints halts execution when the context in the Microengine you have
assigned to the breakpoint reaches that instruction.
•
Conditional breakpoints
have an associated function that is executed when the breakpoint
instruction is reached. The function result determines whether to pause the simulation or
continue uninterrupted. Conditional breakpoints can be applied to all contexts or some
contexts.