Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion Source/Windows/Common/Exception.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,14 @@ static inline EXCEPTION_RECORD HandleGuestException(FEXCore::Core::CpuStateFrame
Dst.ExceptionInformation[0] = Rax;
// Note that ExceptionAddress doesn't equal the reported context RIP here, this discrepancy expected and not having it can trigger anti-debug logic.
return Dst;
default: LogMan::Msg::EFmt("Unknown interrupt: 0x{:X}", Fault.err_code >> 3); break;
default:
// An inaccessible INT imm8 gate raises #GP, not #UD. Match the
// Windows access-violation record and leave RIP on the instruction.
Dst.ExceptionCode = EXCEPTION_ACCESS_VIOLATION;
Dst.NumberParameters = 2;
Dst.ExceptionInformation[0] = 0;
Dst.ExceptionInformation[1] = static_cast<TReg>(-1);
return Dst;
}
} else {
Dst.ExceptionCode = EXCEPTION_PRIV_INSTRUCTION;
Expand Down
Loading