Enum rust_debug::evaluate::evaluate::EvaluatorValue [−][src]
pub enum EvaluatorValue<R: Reader<Offset = usize>> {
Show 14 variants
Value(BaseTypeValue, ValueInformation),
PointerTypeValue(Box<PointerTypeValue<R>>),
VariantValue(Box<VariantValue<R>>),
VariantPartValue(Box<VariantPartValue<R>>),
SubrangeTypeValue(SubrangeTypeValue),
Bytes(R),
Array(Box<ArrayTypeValue<R>>),
Struct(Box<StructureTypeValue<R>>),
Enum(Box<EnumerationTypeValue<R>>),
Union(Box<UnionTypeValue<R>>),
Member(Box<MemberValue<R>>),
OptimizedOut,
LocationOutOfRange,
ZeroSize,
}Expand description
Describes all the different Rust types values in the form of a tree structure.
Variants
Value(BaseTypeValue, ValueInformation)A base_type type and value with location information.
Tuple Fields of Value
PointerTypeValue(Box<PointerTypeValue<R>>)A pointer_type type and value.
Tuple Fields of PointerTypeValue
0: Box<PointerTypeValue<R>>VariantValue(Box<VariantValue<R>>)A variant type and value.
Tuple Fields of VariantValue
0: Box<VariantValue<R>>VariantPartValue(Box<VariantPartValue<R>>)A variant_part type and value.
Tuple Fields of VariantPartValue
0: Box<VariantPartValue<R>>SubrangeTypeValue(SubrangeTypeValue)A subrange_type type and value.
Tuple Fields of SubrangeTypeValue
gimli-rs bytes value.
Array(Box<ArrayTypeValue<R>>)A array type value.
Tuple Fields of Array
0: Box<ArrayTypeValue<R>>Struct(Box<StructureTypeValue<R>>)A struct type value.
Tuple Fields of Struct
0: Box<StructureTypeValue<R>>Enum(Box<EnumerationTypeValue<R>>)A enum type value.
Tuple Fields of Enum
0: Box<EnumerationTypeValue<R>>Union(Box<UnionTypeValue<R>>)A union type value.
Tuple Fields of Union
0: Box<UnionTypeValue<R>>Member(Box<MemberValue<R>>)A attribute type value.
Tuple Fields of Member
0: Box<MemberValue<R>>The value is optimized away.
The variable has no location currently but had or will have one. Note that the location can be a constant stored in the DWARF stack.
The value is size 0 bits.
Implementations
Will return this value as a BaseTypeValue struct if possible.
Will return a Vec of location and unparsed value infromation about the value.
pub fn evaluate_variable_with_type<M: MemoryAccess>(
dwarf: &Dwarf<R>,
registers: &Registers,
mem: &mut M,
pieces: &Vec<Piece<R>>,
unit_offset: UnitSectionOffset,
die_offset: UnitOffset
) -> Result<EvaluatorValue<R>>
pub fn evaluate_variable_with_type<M: MemoryAccess>(
dwarf: &Dwarf<R>,
registers: &Registers,
mem: &mut M,
pieces: &Vec<Piece<R>>,
unit_offset: UnitSectionOffset,
die_offset: UnitOffset
) -> Result<EvaluatorValue<R>>
Evaluate a list of Pieces into a value and parse it to the given type.
Description:
dwarf- A reference to gimli-rsDwarfstruct.registers- A register struct for accessing the register values.mem- A struct for accessing the memory of the debug target.pieces- A list of gimli-rs pieces containing the location information..unit_offset- A offset to theUnitwhich contains the given type DIE.die_offset- A offset to the DIE that contains the type of the value.
This function will use the location information in the pieces parameter to read the
values and parse it to the given type.
pub fn evaluate_variable<M: MemoryAccess>(
registers: &Registers,
mem: &mut M,
pieces: &Vec<Piece<R>>
) -> Result<EvaluatorValue<R>>
pub fn evaluate_variable<M: MemoryAccess>(
registers: &Registers,
mem: &mut M,
pieces: &Vec<Piece<R>>
) -> Result<EvaluatorValue<R>>
This function will evaluate the given pieces into a unsigned 32 bit integer.
Description:
registers- A register struct for accessing the register values.mem- A struct for accessing the memory of the debug target.pieces- A list of gimli-rs pieces containing the location information..
Trait Implementations
Auto Trait Implementations
impl<R> RefUnwindSafe for EvaluatorValue<R> where
R: RefUnwindSafe,
impl<R> Send for EvaluatorValue<R> where
R: Send,
impl<R> Sync for EvaluatorValue<R> where
R: Sync,
impl<R> Unpin for EvaluatorValue<R> where
R: Unpin,
impl<R> UnwindSafe for EvaluatorValue<R> where
R: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more