Class: RemoteCommandProcessor

Inherits:
Byebug::Processor
  • Object
show all
Defined in:
lib/rdb/debugger.rb

Instance Method Summary collapse

Constructor Details

#initialize(interface = Byebug::LocalInterface.new) ⇒ RemoteCommandProcessor

Returns a new instance of RemoteCommandProcessor.



264
265
266
267
268
269
# File 'lib/rdb/debugger.rb', line 264

def initialize(interface = Byebug::LocalInterface.new)
  super(interface)

  @server = CommandServer.new
  @server.start
end

Instance Method Details

#at_breakpoint(context, breakpoint) ⇒ Object



271
272
# File 'lib/rdb/debugger.rb', line 271

def at_breakpoint(context, breakpoint)
end

#at_catchpoint(context, excpt) ⇒ Object



274
275
# File 'lib/rdb/debugger.rb', line 274

def at_catchpoint(context, excpt)
end

#at_line(context, file, line) ⇒ Object



280
281
282
283
# File 'lib/rdb/debugger.rb', line 280

def at_line(context, file, line)
  @server.broadcast.break
  process_commands(context, file, line)
end

#at_return(context, file, line) ⇒ Object



285
286
287
# File 'lib/rdb/debugger.rb', line 285

def at_return(context, file, line)
  process_commands(context, file, line)
end

#at_tracing(context, file, line) ⇒ Object



277
278
# File 'lib/rdb/debugger.rb', line 277

def at_tracing(context, file, line)
end

#process_commands(context, file, line) ⇒ Object



289
290
291
292
293
294
295
296
# File 'lib/rdb/debugger.rb', line 289

def process_commands(context, file, line)
  @server.running = false
  loop do
    command = @server.next_command
    break if command.call(context)
  end
  @server.running = true
end