Skip to content

Fixup Mac exception stream#50

Merged
Jake-Shadle merged 6 commits intomainfrom
exc-encoding
Jul 21, 2022
Merged

Fixup Mac exception stream#50
Jake-Shadle merged 6 commits intomainfrom
exc-encoding

Conversation

@Jake-Shadle
Copy link
Copy Markdown
Collaborator

@Jake-Shadle Jake-Shadle commented Jul 21, 2022

  • EXC_CRASH exceptions are now unwrapped (if valid) and the wrapped exception is the one written to the minidump
  • EXC_RESOURCE and EXC_GUARD are now properly handled to report the upper 32-bits as exception_flags
  • The exception_address now properly takes EXC_BAD_ACCESS into account rather than using the subcode for the address regardless of the exception type
  • The exception type (kind), full 64-bit code, and full 64-bit subcode (if it exists) are now written to exception_information so that no exception data is lost when truncated for the 32-bit exception_code and exception_flags, and a minidump parser can extract those full details

Also updates crash-context and minidump/-common crates.

Resolves: #33
Resolves: #34

* `EXC_CRASH` exceptions are now unwrapped (if valid) and the wrapped
exception is the one written to the minidump
* `EXC_RESOURCE` and `EXC_GUARD` are now properly handled to report the
upper 32-bits as `exception_flags`
* The `exception_address` now properly takes `EXC_BAD_ACCESS` into
account rather than using the subcode for the address regardless of the
exception type
* The exception type (kind), full 64-bit code, and full 64-bit subcode
(if it exists) are now written to `exception_information` so that no
exception data is lost and a minidump parser can extract those full
details
@Jake-Shadle Jake-Shadle merged commit 2f49fbd into main Jul 21, 2022
@Jake-Shadle Jake-Shadle deleted the exc-encoding branch July 21, 2022 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unpack EXC_CRASH exceptions on macOS Modify the macOS minidump exception stream writer to match Crashpad

1 participant