pub struct ProcessState {
Show 17 fields pub process_id: Option<u32>, pub time: SystemTime, pub process_create_time: Option<SystemTime>, pub cert_info: HashMap<String, String>, pub crash_reason: Option<CrashReason>, pub crash_address: Option<u64>, pub assertion: Option<String>, pub requesting_thread: Option<usize>, pub threads: Vec<CallStack>, pub system_info: SystemInfo, pub linux_standard_base: Option<LinuxStandardBase>, pub mac_crash_info: Option<Vec<RawMacCrashInfo>>, pub modules: MinidumpModuleList, pub unloaded_modules: MinidumpUnloadedModuleList, pub unknown_streams: Vec<MinidumpUnknownStream>, pub unimplemented_streams: Vec<MinidumpUnimplementedStream>, pub symbol_stats: HashMap<String, SymbolStats>,
}
Expand description

The state of a process as recorded by a Minidump.

Fields

process_id: Option<u32>

The PID of the process.

time: SystemTime

When the minidump was written.

process_create_time: Option<SystemTime>

When the process started, if available

cert_info: HashMap<String, String>

Known code signing certificates (module name => cert name)

crash_reason: Option<CrashReason>

If the process crashed, a CrashReason describing the crash reason.

crash_address: Option<u64>

The memory address implicated in the crash.

If the process crashed, and if the crash reason implicates memory, this is the memory address that caused the crash. For data access errors this will be the data address that caused the fault. For code errors, this will be the address of the instruction that caused the fault.

assertion: Option<String>

A string describing an assertion that was hit, if present.

requesting_thread: Option<usize>

The index of the thread that requested a dump be written. If a dump was produced as a result of a crash, this will point to the thread that crashed. If the dump was produced as by user code without crashing, and the dump contains extended Breakpad information, this will point to the thread that requested the dump. If the dump was not produced as a result of an exception and no extended Breakpad information is present, this field will be None.

threads: Vec<CallStack>

Stacks for each thread (except possibly the exception handler thread) at the time of the crash.

system_info: SystemInfo

Information about the system on which the minidump was written.

linux_standard_base: Option<LinuxStandardBase>

Linux Standard Base Info

mac_crash_info: Option<Vec<RawMacCrashInfo>>modules: MinidumpModuleList

The modules that were loaded into the process represented by the ProcessState.

unloaded_modules: MinidumpUnloadedModuleListunknown_streams: Vec<MinidumpUnknownStream>unimplemented_streams: Vec<MinidumpUnimplementedStream>symbol_stats: HashMap<String, SymbolStats>

Implementations

true if the minidump was written in response to a process crash.

Write a human-readable description of the process state to f.

This is very verbose, it implements the output format used by minidump_stackwalk.

Write a brief human-readable description of the process state to f.

Only includes the summary at the top and a backtrace of the crashing thread.

Outputs json in a schema compatible with mozilla’s Socorro crash reporting servers.

See the top level documentation of this library for the stable JSON schema.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.