Trait breakpad_symbols::FrameWalker[][src]

pub trait FrameWalker {
    fn get_instruction(&self) -> u64;
fn get_grand_callee_parameter_size(&self) -> u32;
fn get_register_at_address(&self, address: u64) -> Option<u64>;
fn get_callee_register(&self, name: &str) -> Option<u64>;
fn set_caller_register(&mut self, name: &str, val: u64) -> Option<()>;
fn set_cfa(&mut self, val: u64) -> Option<()>;
fn set_ra(&mut self, val: u64) -> Option<()>; }

Required methods

fn get_instruction(&self) -> u64[src]

Get the instruction address that we’re trying to unwind from.

fn get_grand_callee_parameter_size(&self) -> u32[src]

Get the number of bytes the callee’s callee’s parameters take up on the stack (or 0 if unknown/invalid). This is needed for STACK WIN unwinding.

fn get_register_at_address(&self, address: u64) -> Option<u64>[src]

Get a register-sized value stored at this address.

fn get_callee_register(&self, name: &str) -> Option<u64>[src]

Get the value of a register from the callee’s frame.

fn set_caller_register(&mut self, name: &str, val: u64) -> Option<()>[src]

Set the value of a register for the caller’s frame.

fn set_cfa(&mut self, val: u64) -> Option<()>[src]

Set whatever registers in the caller should be set based on the cfa (e.g. rsp).

fn set_ra(&mut self, val: u64) -> Option<()>[src]

Set whatever registers in the caller should be set based on the return address (e.g. rip).

Implementors