diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl1.java b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl1.java index ac8936f9e2..8f5974245a 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl1.java +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl1.java @@ -130,7 +130,11 @@ public class DebugControlImpl1 implements DebugControlInternal { BitmaskSet flags) { ULONG ctlMask = new ULONG(ctl.getBitmask()); ULONG flagMask = new ULONG(flags.getBitmask()); - COMUtils.checkRC(jnaControl.Execute(ctlMask, cmd, flagMask)); + HRESULT hr = jnaControl.Execute(ctlMask, cmd, flagMask); + if (hr.equals(COMUtilsExtra.E_INTERNALEXCEPTION)) { + return; + } + COMUtils.checkRC(hr); } @Override diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl4.java b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl4.java index 30ddba27e2..fa67c30ddc 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl4.java +++ b/Ghidra/Debug/Debugger-agent-dbgeng/src/main/java/agent/dbgeng/impl/dbgeng/control/DebugControlImpl4.java @@ -19,9 +19,11 @@ import com.sun.jna.Native; import com.sun.jna.WString; import com.sun.jna.platform.win32.WinDef.ULONG; import com.sun.jna.platform.win32.WinDef.ULONGByReference; +import com.sun.jna.platform.win32.WinNT.HRESULT; import com.sun.jna.platform.win32.COM.COMUtils; import com.sun.jna.ptr.PointerByReference; +import agent.dbgeng.dbgeng.COMUtilsExtra; import agent.dbgeng.dbgeng.DebugBreakpoint; import agent.dbgeng.dbgeng.DebugBreakpoint.BreakType; import agent.dbgeng.dbgeng.DebugValue.DebugValueType; @@ -90,7 +92,11 @@ public class DebugControlImpl4 extends DebugControlImpl3 { BitmaskSet flags) { ULONG ctlMask = new ULONG(ctl.getBitmask()); ULONG flagMask = new ULONG(flags.getBitmask()); - COMUtils.checkRC(jnaControl.ExecuteWide(ctlMask, new WString(cmd), flagMask)); + HRESULT hr = jnaControl.ExecuteWide(ctlMask, new WString(cmd), flagMask); + if (hr.equals(COMUtilsExtra.E_INTERNALEXCEPTION)) { + return; + } + COMUtils.checkRC(hr); } @Override