A method, apparatus, system, and signal-bearing medium that, in an
embodiment, prohibit breakpoints from being set within a protected range.
In an embodiment, a protected range may be an atomic operation
synchronization code range, either based on instructions generated by a
compiler or based on source statements that are compiler directives. When
a command, such as an add breakpoint command is received, the address of
the breakpoint is compared to the protected range, and if the address is
within the protected range, the breakpoint is not set. In another
embodiment, if the address is within the protected range, the breakpoint
is set before the start or after the end of the protected range. In this
way, the problems of endless loops may be obviated.