about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-01 11:41:36 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-01 11:41:36 +0200
commit28e11dec310102cf916ca9f1555a159625cd9cb8 (patch)
tree36adf6d279ec051487548bb4703b5de31e5423fe
parentb343ab69a56b8279a5339eb32fbb09d8a4e89e0b (diff)
downloadbox64-28e11dec310102cf916ca9f1555a159625cd9cb8.tar.gz
box64-28e11dec310102cf916ca9f1555a159625cd9cb8.zip
Better trace for XCreateWindow
-rwxr-xr-xsrc/emu/x64int3.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/emu/x64int3.c b/src/emu/x64int3.c
index 645d551e..0d8e0e05 100755
--- a/src/emu/x64int3.c
+++ b/src/emu/x64int3.c
@@ -106,6 +106,13 @@ void x64Int3(x64emu_t* emu)
                 } else  if(!strcmp(s, "sscanf")) {
                     tmp = (char*)(R_RSI);
                     snprintf(buff, 255, "%04d|%p: Calling %s(%p, \"%s\" (,%p))", tid, *(void**)(R_RSP), s, (void*)R_RDI, (tmp)?tmp:"(nil)", (void*)(R_RDX));
+                } else  if(!strcmp(s, "XCreateWindow")) {
+                    tmp = (char*)(R_RSI);
+                    snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %d, %d, %u, %u, %u, %d, %u, %p, 0x%lx, %p)", tid, *(void**)(R_RSP), s, 
+                        (void*)R_RDI, (void*)R_RSI, (int)R_EDX, (int)R_ECX, R_R8d, R_R9d, 
+                        (uint32_t)*(uint64_t*)(R_RSP+8), (int)*(uint64_t*)(R_RSP+16), 
+                        (uint32_t)*(uint64_t*)(R_RSP+24), (void*)*(uint64_t*)(R_RSP+32), 
+                        (unsigned long)*(uint64_t*)(R_RSP+40), (void*)*(uint64_t*)(R_RSP+48));
                 } else {
                     snprintf(buff, 255, "%04d|%p: Calling %s(0x%lX, 0x%lX, 0x%lX, ...)", tid, *(void**)(R_RSP), s, R_RDI, R_RSI, R_RDX);
                 }