GP-0: suppressing pop-up window for internal errors on Execute

This commit is contained in:
d-millar 2021-05-03 19:09:30 +00:00
parent 7a502f4aa1
commit 90212b0b5d
2 changed files with 12 additions and 2 deletions

View file

@ -130,7 +130,11 @@ public class DebugControlImpl1 implements DebugControlInternal {
BitmaskSet<DebugExecute> flags) { BitmaskSet<DebugExecute> flags) {
ULONG ctlMask = new ULONG(ctl.getBitmask()); ULONG ctlMask = new ULONG(ctl.getBitmask());
ULONG flagMask = new ULONG(flags.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 @Override

View file

@ -19,9 +19,11 @@ import com.sun.jna.Native;
import com.sun.jna.WString; import com.sun.jna.WString;
import com.sun.jna.platform.win32.WinDef.ULONG; import com.sun.jna.platform.win32.WinDef.ULONG;
import com.sun.jna.platform.win32.WinDef.ULONGByReference; 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.platform.win32.COM.COMUtils;
import com.sun.jna.ptr.PointerByReference; import com.sun.jna.ptr.PointerByReference;
import agent.dbgeng.dbgeng.COMUtilsExtra;
import agent.dbgeng.dbgeng.DebugBreakpoint; import agent.dbgeng.dbgeng.DebugBreakpoint;
import agent.dbgeng.dbgeng.DebugBreakpoint.BreakType; import agent.dbgeng.dbgeng.DebugBreakpoint.BreakType;
import agent.dbgeng.dbgeng.DebugValue.DebugValueType; import agent.dbgeng.dbgeng.DebugValue.DebugValueType;
@ -90,7 +92,11 @@ public class DebugControlImpl4 extends DebugControlImpl3 {
BitmaskSet<DebugExecute> flags) { BitmaskSet<DebugExecute> flags) {
ULONG ctlMask = new ULONG(ctl.getBitmask()); ULONG ctlMask = new ULONG(ctl.getBitmask());
ULONG flagMask = new ULONG(flags.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 @Override