Software breakpoints are used on targets that do not offer enough (or any) hardware breakpoints. Software breakpoints are realized by replacing the code on the target memory location with an instruction that causes the CPU to stop. Such memory manipulation is invisible to the user, but the user should be aware that software breakpoints make memory writes to locations with such breakpoints. Note that if a debug session is abruptly ended that a new download might need to be performed in case any code remains modified.
To enable Software Breakpoints select Hardware / Use Software breakpoints
Use Software Breakpoints option
or open Hardware / CPU Options and navigate the tabs for specific cores, as this option is core-specific. Some microcontrollers require a new debug session to be started after a change of this setting.
CPU Setup dialog, core tab
Since setting and removing software breakpoints takes considerable amount of time there is an option to speed up this process. Select Hardware / CPU Options / Debugging tab and enable Set / clear SW BPs before run option. When enabled, winIDEA will remember all breakpoint changes that were made and will apply them once the CPU is set to run. Instead of experiencing delays each time a software breakpoint is enabled / disabled, there will be a slight delay once the CPU is set to run.
CPU Setup dialog, Debugging tab