Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.279

Navigation: Debugging > Breakpoints

Scroll Prev Top Next More

Execution Breakpoints

In this topic:

Position

Condition

Action

Hardware Breakpoints

 

 

Introduction

You can view and manipulate all the execution breakpoints in the Debug | Breakpoints dialog.

 

You can also open the Execution Breakpoints dialog by pressing the Breakpoints button Breakpoints-BreakpointsButton in the Debug Toolbar.

 

Execution Breakpoints dialog shows the list of specified execution breakpoints. Execution Breakpoints are used when you wish to break program execution when a specific part of the application is executed. Execution Breakpoint can be either:

Hardware Breakpoint (default, using the available on-chip logic) or

Software Breakpoint (when enabled for the specified core).

 

conditional-bp-settings

 

Checked breakpoints - Enabled (will be applied as soon as the debug session is established).

Unchecked breakpoints - Ignored.

Folder button - Opens a new dialogue, in which you can create a new breakpoint by typing in the name of a function.

Remove button - Allows you to remove a single breakpoint that is selected on the right (indicated by the blue background, not the checkmark).

Show button - Button guides you to the line in the Editor window where the selected breakpoint can be found.

Remove/Reapply/Enable/Disable All - Use the available buttons to configure the breakpoints to your need.

 

 

Position

Shows where the breakpoint is set. If the breakpoint was set on the source level, it will show where exactly in the file it was set, and to which address the source line was resolved. If the breakpoint is set directly on a specific code address, it will show the address only. Pay attention to the designation written before the execution breakpoint address:

 

Address:

HW - Hardware breakpoints was used. On-chip debug logic is used.

SW - Software breakpoints was used. Object code was modified with an instruction that will stop the CPU when it's hit.

--: - Breakpoint was not applied

 

 

Condition

Check the Enabled  to convert the breakpoint to a conditional breakpoint.

Each time the breakpoint is passed the Expression (if present) will be evaluated and if it evaluates to true, it will count as one more pass. When the breakpoint is passed for as many times as specified in the pass count, breakpoint will be hit and the CPU will be stopped.

 

Pass count - How many times winIDEA should pass over the breakpoint before stopping.

Expression - Enter any C expression which evaluates true or false.

Display message box when a conditional breakpoint hits - winIDEA can display a message each time a conditional breakpoint is hit.

 

Warning_orange

Keep in mind that the CPU actually stops each time a conditional breakpoint is passed in order to evaluate the condition and then resumes the CPU.

 

 

Action

When a breakpoint is hit a Python script may be executed. Enable this option and specify the Python script you wish to execute.

 

 

Hardware Breakpoints

Manually configure the hardware breakpoints. The dialog reflects the On-Chip debug logic, therefore you should refer to the microcontroller reference manual provided by the silicon vendor to learn about the specifics and possibilities for your chosen microcontroller.

 

Display message box when a HW BP hits - A message displayed indicating that an hardware breakpoint has occurred.

 

Disabling and clearing/deleting breakpoints

winIDEA differentiate between disabled or cleared/deleted breakpoint:

 

Clear breakpoints

Disable breakpoints

Deleted

Still visible, but do not execute

Have to be set again

Can be enabled again

Can not be found again

Can be used as a bookmark

 

Warning_orange

Disabling breakpoints leaves a visible mark in the glyph margin making it easy to re-enable the breakpoint again if required.

 

Depending on the focused window, winIDEA will:

Editor: Set a breakpoint on a source line, which will later be resolved to a matching object code address.

Disassembly : Set a breakpoint on a specific object code address.

 

 

More resources

Breakpoints - Video Tutorial

Breakpoints - Knowledge Base

Breakpoints window

 

Copyright © 2024 TASKING