In addition to setting from the GUI, breakpoints can also be set by inserting the statement 'debugger' into the code. If the debugger is not open, the debugger statement will be ignored and it will work normally, but if you open the debugger it will pause when it reaches that line.
One of the anti-debugging techniques that use the mechanism of the debugger statement is to prevent the use of the debugger by making this 'debugger' statement infinitely looped or entering it in large numbers. I can't use breakpoints because a lot of unintended pauses occur when analyzing. Of course, you can ignore the debugger statement by turning on 'disable breakpoints', but this will also disable the breakpoints set by the user.
The new reserved word adopted this time is 'ticket_debugger'. By doing this, it is possible to completely ignore the debugger statements embedded in the code and pause only the parts necessary for analysis.
Numerous other anti-debugging technology workarounds are explained on the nullpt.rs blog, so check it out if you're interested.