DBG: bpgoto now no longer refreshes the GUI if not breaking
This commit is contained in:
parent
68f897d595
commit
6a4510ce3a
|
|
@ -1321,7 +1321,7 @@ bool cbDebugSetBPGoto(int argc, char* argv[])
|
|||
_snprintf(cmd, sizeof(cmd), "SetBreakpointCondition %s, 0", argv[1]);
|
||||
if(!cmddirectexec(cmd))
|
||||
return false;
|
||||
_snprintf(cmd, sizeof(cmd), "SetBreakpointCommand %s, \"CIP=%s\"", argv[1], argv[2]);
|
||||
_snprintf(cmd, sizeof(cmd), "SetBreakpointCommand %s, \"bpgoto(%s)\"", argv[1], argv[2]);
|
||||
if(!cmddirectexec(cmd))
|
||||
return false;
|
||||
_snprintf(cmd, sizeof(cmd), "SetBreakpointCommandCondition %s, 1", argv[1]);
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@ void ExpressionFunctions::Init()
|
|||
//Arguments
|
||||
RegisterEasy("arg.get,arg", argget);
|
||||
RegisterEasy("arg.set", argset);
|
||||
|
||||
//Undocumented
|
||||
RegisterEasy("bpgoto", bpgoto);
|
||||
}
|
||||
|
||||
bool ExpressionFunctions::Register(const String & name, int argc, const CBEXPRESSIONFUNCTION & cbFunction, void* userdata)
|
||||
|
|
|
|||
|
|
@ -377,4 +377,11 @@ namespace Exprfunc
|
|||
valtostring(expr.c_str(), value, true);
|
||||
return oldvalue;
|
||||
}
|
||||
|
||||
duint bpgoto(duint cip)
|
||||
{
|
||||
//This is a function to sets CIP without calling DebugUpdateGui. This is a workaround for "bpgoto".
|
||||
SetContextDataEx(hActiveThread, UE_CIP, cip);
|
||||
return cip;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,4 +65,6 @@ namespace Exprfunc
|
|||
|
||||
duint argget(duint index);
|
||||
duint argset(duint index, duint value);
|
||||
|
||||
duint bpgoto(duint cip);
|
||||
}
|
||||
Loading…
Reference in New Issue