Struct breakpad::StackFrame [] [src]

#[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.

Use a Resolver to fill a stack frame with source code information. The resolver needs symbols for this frame's CodeModule in order to provide debug information.

Methods

impl StackFrame
[src]

[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.

[src]

Returns the CodeModule that contains this frame's instruction.

[src]

Returns how well the instruction pointer is trusted.

Trait Implementations

impl Debug for StackFrame
[src]

[src]

Formats the value using the given formatter.