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

#[repr(C)]pub struct StackFrame(_);

Contains information from the memorydump, especially the frame's instruction pointer. Also references an optional CodeModule that contains the instruction of this stack frame.

Implementations

impl StackFrame[src]

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

Returns the program counter location as an absolute virtual address.

  • For the innermost called frame in a stack, this will be an exact program counter or instruction pointer value.

  • For all other frames, this address is within the instruction that caused execution to branch to this frame's callee (although it may not point to the exact beginning of that instruction). This ensures that, when we look up the source code location for this frame, we get the source location of the call, not of the point at which control will resume when the call returns, which may be on the next line. (If the compiler knows the callee never returns, it may even place the call instruction at the very end of the caller's machine code, such that the "return address" (which will never be used) immediately after the call instruction is in an entirely different function, perhaps even from a different source file.)

On some architectures, the return address as saved on the stack or in a register is fine for looking up the point of the call. On others, it requires adjustment. ReturnAddress returns the address as saved by the machine.

Use trust to obtain how trustworthy this instruction is.

pub fn return_address(&self, arch: Arch) -> u64[src]

Return the actual return address, as saved on the stack or in a register. See the comments for `StackFrame::instruction' for details.

pub fn module(&self) -> Option<&CodeModule>[src]

Returns the CodeModule that contains this frame's instruction.

pub fn trust(&self) -> FrameTrust[src]

Returns how well the instruction pointer is trusted.

pub fn registers(&self, arch: Arch) -> BTreeMap<&'static str, RegVal>[src]

Returns a mapping of registers to their known values, if any.

Trait Implementations

impl Debug for StackFrame[src]

Auto Trait Implementations

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.