diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run_private.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c index 22fb0ebc..cb798e12 100644 --- a/src/emu/x64run_private.c +++ b/src/emu/x64run_private.c @@ -1271,7 +1271,9 @@ void PrintTrace(x64emu_t* emu, uintptr_t ip, int dynarec) mutex_lock(&my_context->mutex_trace); #ifdef DYNAREC if((my_context->trace_tid != tid) || (my_context->trace_dynarec!=dynarec)) { - printf_log(LOG_NONE, "Thread %04d| (%s) |\n", tid, dynarec?"dyn":"int"); + printf_log(LOG_NONE, "Thread %04d| (%s) ", tid, dynarec?"dyn":"int"); + printFunctionAddr(ip, "here: "); + printf_log(LOG_NONE, "\n"); my_context->trace_tid = tid; my_context->trace_dynarec = dynarec; } @@ -1347,6 +1349,10 @@ void PrintTrace(x64emu_t* emu, uintptr_t ip, int dynarec) uintptr_t nextaddr = *(uintptr_t*)(R_R10 + R_RAX*8); printf_log(LOG_NONE, " => %p", (void*)nextaddr); printFunctionAddr(nextaddr, "=> "); + } else if(PK(1)==0xE1 && rex.rex==0x41) { + uintptr_t nextaddr = R_R9; + printf_log(LOG_NONE, " => %p", (void*)nextaddr); + printFunctionAddr(nextaddr, "=> "); } } |