Trait minidump_processor::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 clear_caller_register(&mut self, name: &str);
fn set_cfa(&mut self, val: u64) -> Option<()>;
fn set_ra(&mut self, val: u64) -> Option<()>;
}
Required methods
fn get_instruction(&self) -> u64
fn get_instruction(&self) -> u64
Get the instruction address that we’re trying to unwind from.
fn get_grand_callee_parameter_size(&self) -> u32
fn get_grand_callee_parameter_size(&self) -> u32
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>
fn get_register_at_address(&self, address: u64) -> Option<u64>
Get a register-sized value stored at this address.
fn get_callee_register(&self, name: &str) -> Option<u64>
fn get_callee_register(&self, name: &str) -> Option<u64>
Get the value of a register from the callee’s frame.
Set the value of a register for the caller’s frame.
fn clear_caller_register(&mut self, name: &str)
fn clear_caller_register(&mut self, name: &str)
Explicitly mark one of the caller’s registers as invalid.
Set whatever registers in the caller should be set based on the cfa (e.g. rsp).