Struct symbolic::minidump::processor::ProcessState[][src]

pub struct ProcessState<'a> { /* fields omitted */ }

Snapshot of the state of a processes during its crash. The object can be obtained by processing Minidump or Microdump files.

Implementations

impl<'a> ProcessState<'a>[src]

pub fn from_minidump(
    buffer: &ByteView<'a>,
    frame_infos: Option<&BTreeMap<CodeModuleId, CfiCache<'_>>>
) -> Result<ProcessState<'a>, ProcessMinidumpError>
[src]

Processes a minidump supplied via raw binary data.

Returns a ProcessState that contains information about the crashed process. The parameter frame_infos expects a map of Breakpad symbols containing STACK CFI and STACK WIN records to allow stackwalking with omitted frame pointers.

pub fn requesting_thread(&self) -> i32[src]

The index of the thread that requested a dump be written in the threads vector.

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 set to -1, indicating that the dump thread is not available.

pub fn timestamp(&self) -> u64[src]

The time-date stamp of the minidump.

pub fn crashed(&self) -> bool[src]

True if the process crashed, false if the dump was produced outside of an exception handler.

pub fn crash_address(&self) -> u64[src]

If the process crashed, and if crash_reason implicates memory, 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.

pub fn crash_reason(&self) -> String[src]

If the process crashed, the type of crash.

OS- and possibly CPU-specific. For example, “EXCEPTION_ACCESS_VIOLATION” (Windows), “EXC_BAD_ACCESS / KERN_INVALID_ADDRESS” (Mac OS X), “SIGSEGV” (other Unix).

pub fn assertion(&self) -> String[src]

If there was an assertion that was hit, a textual representation of that assertion, possibly including the file and line at which it occurred.

pub fn system_info(&self) -> &SystemInfo[src]

Returns OS and CPU information.

pub fn threads(&self) -> &[&CallStack]

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

Returns a list of CallStacks in the minidump.

pub fn modules(&self) -> Vec<&CodeModule, Global>[src]

Returns the full list of loaded CodeModules.

pub fn referenced_modules(&self) -> BTreeSet<&CodeModule>[src]

Returns a list of all CodeModules referenced in one of the CallStacks.

Trait Implementations

impl<'a> Debug for ProcessState<'a>[src]

impl<'a> Drop for ProcessState<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for ProcessState<'a>

impl<'a> !Send for ProcessState<'a>

impl<'a> !Sync for ProcessState<'a>

impl<'a> Unpin for ProcessState<'a>

impl<'a> UnwindSafe for ProcessState<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.