From 606eecfa82d3d66678aa52aee9eca05c79fafa08 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Mon, 8 Feb 2021 09:27:00 -0500 Subject: [PATCH] GP-668: PyDev debugger now stays on breakpoints appropriately (fixes #2713) --- .../main/java/ghidra/python/GhidraPythonInterpreter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) {