[−][src]Struct symbolic_minidump::processor::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.
Methods
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
Auto Trait Implementations
impl Send for StackFrame
impl Sync for StackFrame
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.