From ae52c93861d4e22b7c273d25f7246e8aa37378f9 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Fri, 10 Jun 2022 11:16:08 +0800 Subject: Fix undefined DebuggerController in PythonScriptingInstance --- python/scriptingprovider.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'python') diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py index 95e1721f..49088304 100644 --- a/python/scriptingprovider.py +++ b/python/scriptingprovider.py @@ -770,6 +770,17 @@ from binaryninja import * self.queued_input = "" self.input_ready_state = ScriptingProviderInputReadyState.ReadyForScriptExecution self.debugger_imported = False + from binaryninja.settings import Settings + if os.environ.get('BN_STANDALONE_DEBUGGER'): + # By the time this scriptingprovider.py file is imported, the user plugins are not loaded yet. + # So `from debugger import DebuggerController` would not work. + from debugger import DebuggerController + self.DebuggerController = DebuggerController + self.debugger_imported = True + elif os.environ.get('BN_EXPERIMENTAL_DEBUGGER') or Settings().get_bool('corePlugins.debugger'): + from .debugger import DebuggerController + self.DebuggerController = DebuggerController + self.debugger_imported = True @abc.abstractmethod def perform_stop(self): @@ -816,19 +827,8 @@ from binaryninja import * @abc.abstractmethod def perform_set_current_binary_view(self, view): self.interpreter.current_view = view - # By the time this scriptingprovider.py file is imported, the user plugins are not loaded yet. - # So `from debugger import DebuggerController` would not work. - if not self.debugger_imported: - from binaryninja.settings import Settings - if os.environ.get('BN_STANDALONE_DEBUGGER'): - from debugger import DebuggerController - self.debugger_imported = True - elif os.environ.get('BN_EXPERIMENTAL_DEBUGGER') or Settings().get_bool('corePlugins.debugger'): - from .debugger import DebuggerController - self.debugger_imported = True - if view is not None and self.debugger_imported: - self.interpreter.current_dbg = DebuggerController(view) + self.interpreter.current_dbg = self.DebuggerController(view) else: self.interpreter.current_dbg = None -- cgit v1.3.1