Trait gimli::EvaluationContext [] [src]

pub trait EvaluationContext<'input>: Debug {
    fn read_memory(&self, address: u64, size: u8, space: Option<u64>) -> Result<u64>;
    fn read_register(&self, register: u64) -> Result<u64>;
    fn frame_base(&self) -> Result<u64>;
    fn read_tls(&self, index: u64) -> Result<u64>;
    fn call_frame_cfa(&self) -> Result<u64>;
    fn get_at_location(&self, die: DieReference) -> Result<&'input [u8]>;
    fn evaluate_entry_value(&self, expression: &[u8]) -> Result<u64>;
}

Supply information to a DWARF expression evaluation.

Required Methods

Read the indicated number of bytes from memory at the indicated address. The number of bytes is guaranteed to be less than the word size of the target architecture.

If not None, the "space" argument is a target-specific address space value.

Read the indicated register and return its value.

Compute the frame base using DW_AT_frame_base.

Compute the address of a thread-local variable.

Compute the call frame CFA.

Find the DW_AT_location attribute of the given DIE and return the corresponding DWARF expression. If no expression can be found, this should return an empty slice.

Evaluate an expression at the entry to the current subprogram.

Implementors