blob: fcbe97df69b05bf02c86cad75fcbc170e1bdd665 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
pub mod guard;
pub mod ipc;
pub mod resource;
use mach2::mach_types as mt;
/// Information on the exception that caused the crash
#[derive(Copy, Clone, Debug)]
pub struct ExceptionInfo {
/// The exception kind
pub kind: u32,
/// The exception code
pub code: u64,
/// Optional subcode with different meanings depending on the exception type
/// * `EXC_BAD_ACCESS` - The address that caused the exception
/// * `EXC_GUARD` - The unique guard identifier that was guarding a resource
/// * `EXC_RESOURCE` - Additional details depending on the resource type
pub subcode: Option<u64>,
}
/// Full Macos crash context
#[derive(Debug)]
pub struct CrashContext {
/// The process which crashed
pub task: mt::task_t,
/// The thread in the process that crashed
pub thread: mt::thread_t,
/// The thread that handled the exception. This may be useful to ignore.
pub handler_thread: mt::thread_t,
/// Optional exception information
pub exception: Option<ExceptionInfo>,
}
|