pub struct Variable<R: Reader<Offset = usize>> {
pub name: Option<String>,
pub value: EvaluatorValue<R>,
pub source: Option<SourceInformation>,
}
Expand description
Defines what debug information a variable has.
Fields§
§name: Option<String>
The name of the variable.
value: EvaluatorValue<R>
A tree structured like the variable type in DWARF, but it also contains the values
source: Option<SourceInformation>
The source code location where the variable was declared.
Implementations§
Source§impl<R: Reader<Offset = usize>> Variable<R>
impl<R: Reader<Offset = usize>> Variable<R>
Sourcepub fn get_variable<M: MemoryAccess>(
dwarf: &Dwarf<R>,
registers: &Registers,
memory: &mut M,
dwarf_offset: DwarfOffset,
frame_base: Option<u64>,
cwd: &str,
) -> Result<Variable<R>>
pub fn get_variable<M: MemoryAccess>( dwarf: &Dwarf<R>, registers: &Registers, memory: &mut M, dwarf_offset: DwarfOffset, frame_base: Option<u64>, cwd: &str, ) -> Result<Variable<R>>
Retrieve the variables debug information.
Description:
dwarf
- A reference to gimli-rsDwarf
struct.registers
- A reference to theRegisters
struct.memory
- A reference to a struct that implements theMemoryAccess
trait.section_offset
- A offset to the compilation unit where the DIE for the variable is located.unit_offset
- A offset into the compilation unit where the DIE representing the variable is located.frame_base
- The value of the frame base, which is often needed to evaluate the variable.cwd
- The work directory of the program being debugged.
This function will go through the DIE in the compilation unit to find the necessary debug information. Then it will use that information to evaluate the value of the variable.
Trait Implementations§
Auto Trait Implementations§
impl<R> Freeze for Variable<R>where
R: Freeze,
impl<R> RefUnwindSafe for Variable<R>where
R: RefUnwindSafe,
impl<R> Send for Variable<R>where
R: Send,
impl<R> Sync for Variable<R>where
R: Sync,
impl<R> Unpin for Variable<R>where
R: Unpin,
impl<R> UnwindSafe for Variable<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more