DBG: execute trace record on forced CIP change
This commit is contained in:
parent
10f1994bdd
commit
12fba8887b
|
|
@ -8,6 +8,7 @@
|
|||
#include "disasm_fast.h"
|
||||
#include "plugin_loader.h"
|
||||
#include "value.h"
|
||||
#include "TraceRecord.h"
|
||||
|
||||
bool cbDebugRunInternal(int argc, char* argv[])
|
||||
{
|
||||
|
|
@ -374,6 +375,7 @@ bool cbDebugSkip(int argc, char* argv[])
|
|||
memset(&basicinfo, 0, sizeof(basicinfo));
|
||||
disasmfast(cip, &basicinfo);
|
||||
cip += basicinfo.size;
|
||||
_dbg_dbgtraceexecute(cip);
|
||||
SetContextDataEx(hActiveThread, UE_CIP, cip);
|
||||
DebugUpdateGuiAsync(cip, false); //update GUI
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include "expressionparser.h"
|
||||
#include "function.h"
|
||||
#include "threading.h"
|
||||
#include "TraceRecord.h"
|
||||
|
||||
static bool dosignedcalc = false;
|
||||
|
||||
|
|
@ -2282,7 +2283,11 @@ bool valtostring(const char* string, duint value, bool silent)
|
|||
strcpy_s(regName(), len + 1, string);
|
||||
_strlwr(regName());
|
||||
if(strstr(regName(), "ip"))
|
||||
DebugUpdateGuiAsync(GetContextDataEx(hActiveThread, UE_CIP), false); //update disassembly + register view
|
||||
{
|
||||
auto cip = GetContextDataEx(hActiveThread, UE_CIP);
|
||||
_dbg_dbgtraceexecute(cip);
|
||||
DebugUpdateGuiAsync(cip, false); //update disassembly + register view
|
||||
}
|
||||
else if(strstr(regName(), "sp")) //update stack
|
||||
{
|
||||
duint csp = GetContextDataEx(hActiveThread, UE_CSP);
|
||||
|
|
|
|||
Loading…
Reference in New Issue