def execute
unless @state.interface.kind_of?(LocalInterface)
print "Command is available only in local mode.\n"
throw :debug_error
end
save_trap = trap("SIGINT") do
throw :IRB_EXIT, :cont if $debug_in_irb
end
$debug_in_irb = true
cont = IRB.start_session(get_binding)
if cont == :cont
@state.proceed
else
file = @state.context.frame_file(0)
line = @state.context.frame_line(0)
CommandProcessor.print_location_and_text(file, line)
@state.previous_line = nil
end
ensure
$debug_in_irb = false
trap("SIGINT", save_trap) if save_trap
end