diff --git a/src/windows-emulator/syscall_dispatcher.cpp b/src/windows-emulator/syscall_dispatcher.cpp index bb73546e..2ad6bd54 100644 --- a/src/windows-emulator/syscall_dispatcher.cpp +++ b/src/windows-emulator/syscall_dispatcher.cpp @@ -100,10 +100,13 @@ void syscall_dispatcher::dispatch(windows_emulator& win_emu) } else { - win_emu.logger.print(color::dark_gray, "Executing syscall: %s (0x%X) at 0x%llX\n", + const auto rsp = c.emu.read_stack_pointer(); + const auto return_address = c.emu.read_memory(rsp); + const auto* mod_name = context.module_manager.find_name(return_address); + + win_emu.logger.print(color::dark_gray, "Executing syscall: %s (0x%X) at 0x%llX via %llX (%s)\n", entry->second.name.c_str(), - syscall_id, - address); + syscall_id, address, return_address, mod_name); } entry->second.handler(c);