What’s it all about
In certain situations, working with breakpoints may be difficult, when they are set in ABAP programs, that are called very often and/or uncontrollable for your user. For example, a web application may trigger several requests, while you may want to debug a single request.
Soft Breakpoints are the right instrument to get along with this situation – they are effective only in running debugger session, or put in other words: they are not capable to launch a new debugger session!
Soft breakpoints are not needed very often – but when you need them, you can hardly get along without them!
How to use
The “soft” property can be found in the breakpoint properties, that can be either reached via context menu in the vertical ruler, or the breakpoints view.
If a breakpoint is set soft, its color is changed to green, and the tooltip includes this property.
You can quickly create or toggle soft breakpoints if you hold the “ALT” key when double-clicking on the vertical ruler to toggle a breakpoint.
In a supposed situation, you may have one “catchy”, breakpoint at a certain program position, that is supposed to launch the debugger. This breakpoint is left “hard”. By toggling this breakpoint active/inactive, you could control if you want to have new debugger sessions respectively.
If all other breakpoints are set “soft”, they will only be effective, if the debugger has been launched already by the catchy breakpoint from above.
Dynamical Breakpoints (Statement Breakpoints and Exception Breakpoints) are created as Soft Breakpoints by default, for caution purposes. This means that you will have to uncheck the soft property, or set a line breakpoint to launch the debugger, if you want the breakpoints to be capable to launch new debugger sessions.