diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-06-19 21:18:05 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-06-19 21:18:05 +0200 |
| commit | 962c3c25b657ef7ad117aa5f19040b3430480b30 (patch) | |
| tree | 25b3778e63045b40fbb14f10af0ab6bf332a81ba /src/emu | |
| parent | ae6d6d753a1206655f7afae707d6cc759de85ec2 (diff) | |
| download | box64-962c3c25b657ef7ad117aa5f19040b3430480b30.tar.gz box64-962c3c25b657ef7ad117aa5f19040b3430480b30.zip | |
Various small debugging improvments
Diffstat (limited to 'src/emu')
| -rwxr-xr-x | src/emu/x64int3.c | 2 | ||||
| -rwxr-xr-x | src/emu/x64run_private.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/emu/x64int3.c b/src/emu/x64int3.c index c382734e..07113eed 100755 --- a/src/emu/x64int3.c +++ b/src/emu/x64int3.c @@ -181,6 +181,8 @@ void x64Int3(x64emu_t* emu) } else if (!strcmp(s, "glGetStringi")) { post = 2; snprintf(buff, 255, "%04d|%p: Calling %s(0x%x, %d)", tid, *(void**)(R_RSP), s, R_EDI, R_ESI); + } else if (!strcmp(s, "_dl_tlsdesc_undefweak")) { + snprintf(buff, 255, "%04d|%p: Calling %s(RAX=%p)", tid, *(void**)(R_RSP), s, (void*)R_RAX); } else if (!strcmp(s, "glFramebufferTexture2D")) { snprintf(buff, 255, "%04d|%p: Calling %s(0x%x, 0x%x, 0x%x, %u, %d)", tid, *(void**)(R_RSP), s, R_EDI, R_ESI, R_EDX, R_ECX, R_R8d); } else if (!strcmp(s, "glTexSubImage2D")) { diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c index ae306d83..16a9235e 100755 --- a/src/emu/x64run_private.c +++ b/src/emu/x64run_private.c @@ -961,6 +961,7 @@ const char* getAddrFunctionName(uintptr_t addr) uintptr_t start = 0; elfheader_t* elf = FindElfAddress(my_context, addr); const char* symbname = FindNearestSymbolName(elf, (void*)addr, &start, &sz); + if(!sz) sz=0x100; // arbitrary value... if(symbname && addr>=start && (addr<(start+sz) || !sz)) { if(symbname[0]=='\0') sprintf(ret, "%s + 0x%lx", ElfName(elf), addr - (uintptr_t)GetBaseAddress(elf)); @@ -982,6 +983,7 @@ void printFunctionAddr(uintptr_t nextaddr, const char* text) uint64_t sz = 0; uintptr_t start = 0; const char* symbname = FindNearestSymbolName(FindElfAddress(my_context, nextaddr), (void*)nextaddr, &start, &sz); + if(!sz) sz=0x100; // arbitrary value... if(symbname && nextaddr>=start && (nextaddr<(start+sz) || !sz)) { if(nextaddr==start) printf_log(LOG_NONE, " (%s%s:%s)", text, ElfName(FindElfAddress(my_context, nextaddr)), symbname); |