diff --git a/Ghidra/Features/Python/src/main/java/ghidra/python/GhidraPythonInterpreter.java b/Ghidra/Features/Python/src/main/java/ghidra/python/GhidraPythonInterpreter.java index 0f338e230c..142b05a80d 100644 --- a/Ghidra/Features/Python/src/main/java/ghidra/python/GhidraPythonInterpreter.java +++ b/Ghidra/Features/Python/src/main/java/ghidra/python/GhidraPythonInterpreter.java @@ -218,8 +218,12 @@ public class GhidraPythonInterpreter extends InteractiveInterpreter { InetAddress localhost = InetAddress.getLocalHost(); new Socket(localhost, PyDevUtils.PYDEV_REMOTE_DEBUGGER_PORT).close(); Msg.info(this, "Python debugger found"); - exec("import pydevd; pydevd.settrace(host=\"" + localhost.getHostName() + + StringBuilder dbgCmds = new StringBuilder(); + dbgCmds.append("import pydevd;"); + dbgCmds.append("pydevd.threadingCurrentThread().__pydevd_main_thread = True;"); + dbgCmds.append("pydevd.settrace(host=\"" + localhost.getHostName() + "\", port=" + PyDevUtils.PYDEV_REMOTE_DEBUGGER_PORT + ", suspend=False);"); + exec(dbgCmds.toString()); Msg.info(this, "Connected to a python debugger."); } catch (IOException e) {