1. A computer implemented method for processing breakpoints by an operating system kernel, the computer implemented method comprising: the operating system kernel, without further interaction with a debugger, performing steps including: responsive to detecting a breakpoint during execution of a process, identifying, a thread that is currently executing as an identified thread; retrieving a data structure comprising an identification of the breakpoint and a list of identifiers for threads for which the breakpoint is applicable; determining whether the breakpoint is applicable to the identified thread based on comparing an identifier for the identified thread to the list of identifiers of the data structure; and responsive to a determination that the breakpoint is applicable to the identified thread, halting execution of the process, responsive to a determination that the breakpoint is not applicable to the identified thread, halting, execution of the threads identified in the list of identifiers, replacing the breakpoint with an instruction, executing the instruction after replacing the breakpoint, restoring the breakpoint after executing the instruction, and resuming execution of the threads identified in the list of identifiers.