Log name of syscall, when access violation occurs

This commit is contained in:
Raul Tambre 2014-08-10 22:56:42 +03:00
parent 2fbd9453dd
commit 54839b293b
1 changed files with 3 additions and 2 deletions

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "Emu/SysCalls/ErrorCodes.h"
#include "Emu/SysCalls/SysCalls.h"
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
@ -285,8 +286,8 @@ void _se_translator(unsigned int u, EXCEPTION_POINTERS* pExp)
// TODO: allow recovering from a page fault
//GetCurrentPPUThread().Stop();
Emu.Pause();
throw fmt::Format("Access violation: addr = 0x%x (last_syscall=0x%llx)",
(u32)addr, (u64)GetCurrentCPUThread()->m_last_syscall);
throw fmt::Format("Access violation: addr = 0x%x (last_syscall=0x%llx (%s))",
(u32)addr, (u64)GetCurrentCPUThread()->m_last_syscall, SysCalls::GetHLEFuncName((u64)GetCurrentCPUThread()->m_last_syscall).c_str());
}
else
{