Breakpoints

Breakpoints View

Breakpoints can be placed before, or during the debug session by double left clicking on a given source line in the source file. The breakpoint can be removed the same way as planted. For easier breakpoint management, the Breakpoints View can be used. This view can be opened by clicking on WindowShow ViewBreakpoints

bp view
Fig. 1. Opening the Breakpoints View

In this view, the breakpoints can be toggled ON and OFF by checking/unchecking the box next to them. If a breakpoint is OFF, the debugger will ignore it during debugging.

Manage breakpoints

Breakpoints can be toggled ON and OFF.

bp off
Fig. 2. The status of the breakpoints can be seen in the Breakpoints View

Skip All Breakpoints button

If every breakpoint should be ignored, the Skip All Breakpoints button can be used in the toolbar next to the stepping buttons. This button will make the debugger ignore every existing breakpoint, the only way to activate them again is to press the Skip All Breakpoints button again.

bp skip all
Fig. 3. The Skip All Breakpoints button’s icon

When pressing the button, in the Breakpoints View it can be seen that the breakpoints got disabled.

bps disabled
Fig. 4. Disable every breakpoint with the Skip All Breakpoints button

Removing breakpoints

Using the Breakpoints View, the breakpoints can be removed, either one-by-one, using the Remove Selected Breakpoints (Delete) button, or all of them using the Remove All Breakpoints button.

bp remove
Fig. 5. The Remove Selected Breakpoints (Delete) button’s icon

After pressing the Remove Selected Breakpoints (Delete) button, the selected breakpoint can no longer be seen in the Breakpoints View

bp remove before
Fig. 6. Before pressing Remove Selected Breakpoints (Delete) button
bp remove after
Fig. 7. After pressing Remove Selected Breakpoints (Delete) button the breakpoint gets removed

If the user want to remove every breakpoint, the Remove All Breakpoints button can be used.

bp remove all
Fig. 8. The Remove All Breakpoints button’s icon
bp remove all pressed
Fig. 9. After pressing Remove All Breakpoints button every breakpoint is removed from the Breakpoints View

Deactivate breakpoints for specific Cores

By default, a breakpoint is planted for every Core, if a breakpoint should be ignore for a specific Core, in the Breakpoints View right click on the breakpoint, then go to Breakpoint Properties. In the properties menu select Scope, and simply uncheck the box next to the Core where the breakpoint should be deactivated, then click on the Apply and Close button.

bp properties
Fig. 10. Open the Breakpoint Properties window
bp deactivate
Fig. 11. Remove a breakpoint for a specific core by unchecking the box next to it

Limitations, inline functions

Since TriCore has a limited amount of hardware breakpoints which we can use, planting breakpoints inside inline functions is prohibited, since it would spawn a breakpoint for every call of the inlined function, and we would run out of breakpoints quickly.

bp inline error
Fig. 12. Error message when trying to plant a breakpoint inside an inline function

However, to be able to debug inline functions, it is allowed to place a breakpoint at the first instruction of the inline function, where it was inline in the code, not in the inlined functions definition. This can be done easily in the Disassembly View.

inline bp
Fig. 13. It is allowed to place a breakpoint at the first instruction of the inlined functions range