pub struct ProcessState {
Show 19 fields pub process_id: Option<u32>, pub time: SystemTime, pub process_create_time: Option<SystemTime>, pub cert_info: HashMap<String, String>, pub exception_info: Option<ExceptionInfo>, pub assertion: Option<String>, pub requesting_thread: Option<usize>, pub threads: Vec<CallStack>, pub system_info: SystemInfo, pub linux_standard_base: Option<LinuxStandardBase>, pub linux_proc_limits: Option<LinuxProcLimits>, pub mac_crash_info: Option<Vec<RawMacCrashInfo>>, pub mac_boot_args: Option<MinidumpMacBootargs>, pub modules: MinidumpModuleList, pub unloaded_modules: MinidumpUnloadedModuleList, pub handles: Option<MinidumpHandleDataStream>, 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)

§exception_info: Option<ExceptionInfo>

Info about the exception that triggered the dump (if one did)

§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

§linux_proc_limits: Option<LinuxProcLimits>

Linux Proc Limits

§mac_crash_info: Option<Vec<RawMacCrashInfo>>§mac_boot_args: Option<MinidumpMacBootargs>§modules: MinidumpModuleList

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

§unloaded_modules: MinidumpUnloadedModuleList§handles: Option<MinidumpHandleDataStream>§unknown_streams: Vec<MinidumpUnknownStream>§unimplemented_streams: Vec<MinidumpUnimplementedStream>§symbol_stats: HashMap<String, SymbolStats>

Implementations§

source§

impl ProcessState

source

pub fn crashed(&self) -> bool

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

source

pub fn print<T: Write>(&self, f: &mut T) -> Result<()>

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

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

source

pub fn print_brief<T: Write>(&self, f: &mut T) -> Result<()>

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.

source

pub fn print_json<T: Write>(&self, f: &mut T, pretty: bool) -> Result<(), Error>

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.

Trait Implementations§

source§

impl Clone for ProcessState

source§

fn clone(&self) -> ProcessState

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ProcessState

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more