def __init__(self, debugger, dict): super(VoltronCommand, self).__init__() # grab the debugger and command interpreter self.debugger = debugger self.ci = self.debugger.GetCommandInterpreter() # install the voltron command handler self.debugger.HandleCommand( 'command script add -f dbgentry.lldb_invoke voltron') # load plugins self.pm = voltron.plugin.pm # set up an lldb adaptor and set it as the package-wide adaptor self.adaptor = self.pm.debugger_plugin_for_host( 'lldb').adaptor_class() voltron.debugger = self.adaptor # register plugins now that we have a debugger self.pm.register_plugins() # start the server self.server = Server() self.server.start() self.hook_idx = None
def __init__(self, vdb, vtrace): """ vdb is the debugger instance vtrace is the vtrace module? """ super(VoltronCommand, self).__init__() self._vdb = vdb self._vtrace = vtrace self.pm = PluginManager() self.adaptor = self.pm.debugger_plugin_for_host( 'vdb').adaptor_class(self._vdb, self._vtrace) voltron.debugger = self.adaptor self.server = Server() self.server.start()
if not host: raise Exception("No debugger host is present") # register any plugins that were loaded pm.register_plugins() # get the debugger plugin for the host we're in plugin = pm.debugger_plugin_for_host(host) if not voltron.command: # set up command and adaptor instances voltron.debugger = plugin.adaptor_class(*args) voltron.command = plugin.command_class(*args) # create and start the voltron server voltron.server = Server() if host != "gdb": voltron.server.start() print(blessed.Terminal().bold_red("Voltron loaded.")) if host == 'lldb' and not voltron.command.registered: print("Run `voltron init` after you load a target.") except Exception as e: import traceback msg = "An error occurred while loading Voltron:\n\n{}".format( traceback.format_exc()) if blessed: msg = blessed.Terminal().bold_red(msg) if log: log.exception("Exception raised while loading Voltron")
def cont_handler(self, event): log.debug('Inferior continued') if self.server == None: self.server = Server() self.server.start()
def cont_handler(self, event): log.debug('Inferior continued') if self.server == None or self.server.is_running == False: self.server = Server() self.server.start()