node/lib/metasm/metasm/debug.rb
def singlestep_bp(bp, &b)
		if has_emul_instr(bp)
			@state = :stopped
			bp.emul_instr.call
			b.call if b
		else
			bp.hash_shared.each { |bb|
				disable_bp(bb, :temp_inactive) if bb.state == :active
			}
			# this *should* work with different bps stopping the current instr
			prev_sscb = @singlestep_cb
			singlestep {
				bp.hash_shared.each { |bb|
					enable_bp(bb) if bb.state == :temp_inactive
				}
				prev_sscb[] if prev_sscb
				b.call if b
			}
		end
	end
# singlesteps over an active breakpoint and run its block
# if the breakpoint provides an emulation stub, run that, otherwise
# disable the breakpoint, singlestep, and re-enable
singlesteps over an active breakpoint and run its block
if the breakpoint provides an emulation stub, run that, otherwise
disable the breakpoint, singlestep, and re-enable
singlesteps over an active breakpoint and run its block if the breakpoint provides an emulation stub run that otherwise disable the breakpoint singlestep and re - enable
def singlestep_bp(bp, &b)
		if has_emul_instr(bp)
			@state = :stopped
			bp.emul_instr.call
			b.call if b
		else
			bp.hash_shared.each { |bb|
				disable_bp(bb, :temp_inactive) if bb.state == :active
			}
			prev_sscb = @singlestep_cb
			singlestep {
				bp.hash_shared.each { |bb|
					enable_bp(bb) if bb.state == :temp_inactive
				}
				prev_sscb[] if prev_sscb
				b.call if b
			}
		end
	end
def singlestep_bp ( bp , & b ) if has_emul_instr ( bp ) @state = :stopped bp . emul_instr . call b . call if b else bp . hash_shared . each { | bb | disable_bp ( bb , :temp_inactive ) if bb . state == :active } prev_sscb = @singlestep_cb singlestep { bp . hash_shared . each { | bb | enable_bp ( bb ) if bb . state == :temp_inactive } prev_sscb [ ] if prev_sscb b . call if b } end end
singlesteps over an active breakpoint and run its block
if the breakpoint provides an emulation stub, run that, otherwise
disable the breakpoint, singlestep, and re-enable
singlesteps over an active breakpoint and run its block if the breakpoint provides an emulation stub run that otherwise disable the breakpoint singlestep and re - enable
# this *should* work with different bps stopping the current instr
bp
b