[Memory] Move new watches to heap-aware Memory from MMIOHandler

This commit is contained in:
Triang3l
2019-07-30 08:00:20 +03:00
parent 83da671bb4
commit 4aceeb73c4
12 changed files with 535 additions and 387 deletions

View File

@@ -51,10 +51,26 @@ LONG CALLBACK ExceptionHandlerCallback(PEXCEPTION_POINTERS ex_info) {
case STATUS_ILLEGAL_INSTRUCTION:
ex.InitializeIllegalInstruction(&thread_context);
break;
case STATUS_ACCESS_VIOLATION:
case STATUS_ACCESS_VIOLATION: {
Exception::AccessViolationOperation access_violation_operation;
switch (ex_info->ExceptionRecord->ExceptionInformation[0]) {
case 0:
access_violation_operation =
Exception::AccessViolationOperation::kRead;
break;
case 1:
access_violation_operation =
Exception::AccessViolationOperation::kWrite;
break;
default:
access_violation_operation =
Exception::AccessViolationOperation::kUnknown;
break;
}
ex.InitializeAccessViolation(
&thread_context, ex_info->ExceptionRecord->ExceptionInformation[1]);
break;
&thread_context, ex_info->ExceptionRecord->ExceptionInformation[1],
access_violation_operation);
} break;
default:
// Unknown/unhandled type.
return EXCEPTION_CONTINUE_SEARCH;