1
0
Fork 0

DBG: execute trace record on forced CIP change

This commit is contained in:
mrexodia 2016-11-02 01:26:40 +01:00
parent 10f1994bdd
commit 12fba8887b
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
2 changed files with 8 additions and 1 deletions

View File

@ -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;

View File

@ -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);