Breakpoint setting is one of the fundamental mechanisms for debugging programs; however, the detection of breakpoints in distributed programs is more difficult than in sequential programs. To identify program errors, the status of a distributed program must be rolled back to its earliest global state after detecting breakpoints. Breakpoints are considered as checkpoints in this work so the techniques of finding minimum consistent global checkpoint can be applied to find the earliest consistent global states. Four detection schemes for different types of breakpoints are developed, including disjunctive, stable conjunctive, generic conjunctive, and unconditional breakpoints. In order to reduce the checkpoint space, a t...