Trait minidump::CpuContext[][src]

pub trait CpuContext {
    type Register: LowerHex;
    fn get_register_always(&self, reg: &str) -> Self::Register;
fn set_register(&mut self, reg: &str, val: Self::Register) -> Option<()>;
fn memoize_register(&self, reg: &str) -> Option<&'static str>;
fn stack_pointer_register_name(&self) -> &'static str;
fn instruction_pointer_register_name(&self) -> &'static str; fn register_is_valid(
        &self,
        reg: &str,
        valid: &MinidumpContextValidity
    ) -> bool { ... }
fn get_register(
        &self,
        reg: &str,
        valid: &MinidumpContextValidity
    ) -> Option<Self::Register> { ... }
fn format_register(&self, reg: &str) -> String { ... } }
Expand description

Generic over the specifics of a CPU context.

Associated Types

The word size of general-purpose registers in the context.

Required methods

Get a register value regardless of whether it is valid.

Set a register value, if that register name it exists.

Returns None if the register name isn’t supported.

Gets a static version of the given register name, if possible.

Gets the name of the stack pointer register (for use with get_register/set_register).

Gets the name of the instruction pointer register (for use with get_register/set_register).

Provided methods

Gets whether the given register is valid

This is exposed so that the context can map aliases. For instance “sp” and “x30” are aliases in ARM64.

Get a register value if it is valid.

Get the value of the register named reg from this CPU context if valid indicates that it has a valid value, otherwise return None.

Return a String containing the value of reg formatted to its natural width.

Implementors