A computer-implemented method for processing an encountered breakpoint in a non-obstructing manner, the method comprising: receiving breakpoint information from a computer user in regard to an execution location in a target program executing on a computing device to set a first breakpoint, wherein the breakpoint information from the computer user includes conditional information identifying one or more execution context conditions upon which the first breakpoint will trigger; setting the first breakpoint at the execution location, wherein setting the first breakpoint at the execution location comprises: setting the first breakpoint in a manner that that does not block execution of the target program upon triggering the first breakpoint; and including executable instructions in the target program to generate a snapshot of debugger information regarding the target program upon the first breakpoint triggering, wherein breakpoints are triggered only upon meeting conditions of the breakpoints, and wherein the triggering of the breakpoints is limited to a specific party or a set of parties that satisfy the one or more execution context conditions; receiving a snapshot of debugging information in regard to the triggering of the first breakpoint; and providing the snapshot of debugging information to the computer user, wherein setting the first breakpoint at the execution location further comprises setting the first breakpoint to trigger upon satisfaction of the conditional information at the execution location during execution of the target program. receiving breakpoint information from a computer user in regard to an execution location in a target program executing on a computing device to set a first breakpoint, wherein the breakpoint information from the computer user includes conditional information identifying one or more execution context conditions upon which the first breakpoint will trigger; setting the first breakpoint at the execution location, wherein setting the first breakpoint at the execution location comprises: setting the first breakpoint in a manner that that does not block execution of the target program upon triggering the first breakpoint; and including executable instructions in the target program to generate a snapshot of debugger information regarding the target program upon the first breakpoint triggering, wherein breakpoints are triggered only upon meeting conditions of the breakpoints, and wherein the triggering of the breakpoints is limited to a specific party or a set of parties that satisfy the one or more execution context conditions; receiving a snapshot of debugging information in regard to the triggering of the first breakpoint; and providing the snapshot of debugging information to the computer user, setting the first breakpoint in a manner that that does not block execution of the target program upon triggering the first breakpoint; and including executable instructions in the target program to generate a snapshot of debugger information regarding the target program upon the first breakpoint triggering, wherein breakpoints are triggered only upon meeting conditions of the breakpoints, and wherein the triggering of the breakpoints is limited to a specific party or a set of parties that satisfy the one or more execution context conditions; receiving a snapshot of debugging information in regard to the triggering of the first breakpoint; and providing the snapshot of debugging information to the computer user, wherein setting the first breakpoint at the execution location further comprises setting the first breakpoint to trigger upon satisfaction of the conditional information at the execution location during execution of the target program.