Important: The information in this document is obsolete and should not be used for new development.
Memory Exception Records
The Exception Manager uses a memory exception record to present additional informa-
tion about an exception that occurs as the result of a failed memory reference. A memory exception record is defined by theMemoryExceptionInformation
data type.
struct MemoryExceptionInformation { AreaID theArea; LogicalAddress theAddress; OSStatus theError; MemoryReferenceKind theReference; }; typedef struct MemoryExceptionInformation MemoryExceptionInformation;
Field Description
theArea
- The area containing the logical address of the exception. When the memory reference that caused the exception is to an unmapped range of the logical address space, this field contains the value
kNoAreaID
.theAddress
- The logical address of the exception.
theError
- A status value. When the exception kind is
unresolvablePageFaultException
, this field contains a value that indicates the reason the page fault could not be resolved.theReference
- The type of memory reference that caused the exception. This field contains one of these constants:
enum { writeReference = 0, /*write operation*/ readReference = 1, /*read operation*/ fetchReference = 2 /*fetch operation*/ };
- See "Memory Reference Kinds" on page 4-11 for a description of these constants.
IMPORTANT
- The fields of a memory exception record are aligned in memory in accordance with 680x0 alignment conventions.