node/lib/metasm/metasm/os/linux.rb
# use the PT_SINGLEBLOCK to execute until the next branch
use the PT_SINGLEBLOCK to execute until the next branch
use the PT_SINGLEBLOCK to execute until the next branch
def singleblock
		if b = check_breakpoint_cause and b.hash_shared.find { |bb| bb.state == :active }
			singlestep_bp(b) {
				next if not check_pre_run(:singlestep)
				@state = :running
				@ptrace.pid = @tid
				@ptrace.singleblock(@continuesignal)
			}
		else
			return if not check_pre_run(:singlestep)
			@state = :running
			@ptrace.pid = @tid
			@ptrace.singleblock(@continuesignal)
		end
	end
def singleblock if b = check_breakpoint_cause and b . hash_shared . find { | bb | bb . state == :active } singlestep_bp ( b ) { next if not check_pre_run ( :singlestep ) @state = :running @ptrace . pid = @tid @ptrace . singleblock ( @continuesignal ) } else return if not check_pre_run ( :singlestep ) @state = :running @ptrace . pid = @tid @ptrace . singleblock ( @continuesignal ) end end
use the PT_SINGLEBLOCK to execute until the next branch
use the PT_SINGLEBLOCK to execute until the next branch
# record as singlestep to avoid evt_singlestep -> evt_exception # step or block doesn't matter much here anyway