[−][src]Struct gimli::read::Dwarf
All of the commonly used DWARF sections, and other common information.
Fields
debug_abbrev: DebugAbbrev<R>The .debug_abbrev section.
debug_addr: DebugAddr<R>The .debug_addr section.
debug_info: DebugInfo<R>The .debug_info section.
debug_line: DebugLine<R>The .debug_line section.
debug_line_str: DebugLineStr<R>The .debug_line_str section.
debug_str: DebugStr<R>The .debug_str section.
debug_str_offsets: DebugStrOffsets<R>The .debug_str_offsets section.
debug_str_sup: DebugStr<R>The .debug_str section for a supplementary object file.
debug_types: DebugTypes<R>The .debug_types section.
locations: LocationLists<R>The location lists in the .debug_loc and .debug_loclists sections.
ranges: RangeLists<R>The range lists in the .debug_ranges and .debug_rnglists sections.
Methods
impl<R: Reader> Dwarf<R>[src]
pub fn units(&self) -> CompilationUnitHeadersIter<R>[src]
Iterate the compilation- and partial-unit headers in the
.debug_info section.
Can be used with
FallibleIterator.
pub fn unit(
&self,
header: CompilationUnitHeader<R, R::Offset>
) -> Result<Unit<R>>[src]
&self,
header: CompilationUnitHeader<R, R::Offset>
) -> Result<Unit<R>>
Construct a new Unit from the given compilation unit header.
pub fn type_units(&self) -> TypeUnitHeadersIter<R>[src]
Iterate the type-unit headers in the .debug_types section.
Can be used with
FallibleIterator.
pub fn type_unit(&self, header: TypeUnitHeader<R, R::Offset>) -> Result<Unit<R>>[src]
Construct a new Unit from the given type unit header.
pub fn abbreviations(
&self,
unit: &CompilationUnitHeader<R, R::Offset>
) -> Result<Abbreviations>[src]
&self,
unit: &CompilationUnitHeader<R, R::Offset>
) -> Result<Abbreviations>
Parse the abbreviations for a compilation unit.
pub fn type_abbreviations(
&self,
unit: &TypeUnitHeader<R, R::Offset>
) -> Result<Abbreviations>[src]
&self,
unit: &TypeUnitHeader<R, R::Offset>
) -> Result<Abbreviations>
Parse the abbreviations for a type unit.
pub fn string_offset(
&self,
unit: &Unit<R>,
index: DebugStrOffsetsIndex<R::Offset>
) -> Result<DebugStrOffset<R::Offset>>[src]
&self,
unit: &Unit<R>,
index: DebugStrOffsetsIndex<R::Offset>
) -> Result<DebugStrOffset<R::Offset>>
Return the string offset at the given index.
pub fn string(&self, offset: DebugStrOffset<R::Offset>) -> Result<R>[src]
Return the string at the given offset in .debug_str.
pub fn line_string(&self, offset: DebugLineStrOffset<R::Offset>) -> Result<R>[src]
Return the string at the given offset in .debug_line_str.
pub fn attr_string(
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<R>[src]
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<R>
Return an attribute value as a string slice.
If the attribute value is one of:
- an inline
DW_FORM_stringstring - a
DW_FORM_strpreference to an offset into the.debug_strsection - a
DW_FORM_strp_supreference to an offset into a supplementary object file - a
DW_FORM_line_strpreference to an offset into the.debug_line_strsection - a
DW_FORM_strxindex into the.debug_str_offsetsentries for the unit
then return the attribute's string value. Returns an error if the attribute value does not have a string form, or if a string form has an invalid value.
pub fn address(
&self,
unit: &Unit<R>,
index: DebugAddrIndex<R::Offset>
) -> Result<u64>[src]
&self,
unit: &Unit<R>,
index: DebugAddrIndex<R::Offset>
) -> Result<u64>
Return the address at the given index.
pub fn ranges_offset(
&self,
unit: &Unit<R>,
index: DebugRngListsIndex<R::Offset>
) -> Result<RangeListsOffset<R::Offset>>[src]
&self,
unit: &Unit<R>,
index: DebugRngListsIndex<R::Offset>
) -> Result<RangeListsOffset<R::Offset>>
Return the range list offset at the given index.
pub fn ranges(
&self,
unit: &Unit<R>,
offset: RangeListsOffset<R::Offset>
) -> Result<RngListIter<R>>[src]
&self,
unit: &Unit<R>,
offset: RangeListsOffset<R::Offset>
) -> Result<RngListIter<R>>
Iterate over the RangeListEntrys starting at the given offset.
pub fn attr_ranges_offset(
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<RangeListsOffset<R::Offset>>>[src]
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<RangeListsOffset<R::Offset>>>
Try to return an attribute value as a range list offset.
If the attribute value is one of:
- a
DW_FORM_sec_offsetreference to the.debug_rangesor.debug_rnglistssections - a
DW_FORM_rnglistxindex into the.debug_rnglistsentries for the unit
then return the range list offset of the range list.
Returns None for other forms.
pub fn attr_ranges(
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<RngListIter<R>>>[src]
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<RngListIter<R>>>
Try to return an attribute value as a range list entry iterator.
If the attribute value is one of:
- a
DW_FORM_sec_offsetreference to the.debug_rangesor.debug_rnglistssections - a
DW_FORM_rnglistxindex into the.debug_rnglistsentries for the unit
then return an iterator over the entries in the range list.
Returns None for other forms.
pub fn locations_offset(
&self,
unit: &Unit<R>,
index: DebugLocListsIndex<R::Offset>
) -> Result<LocationListsOffset<R::Offset>>[src]
&self,
unit: &Unit<R>,
index: DebugLocListsIndex<R::Offset>
) -> Result<LocationListsOffset<R::Offset>>
Return the location list offset at the given index.
pub fn locations(
&self,
unit: &Unit<R>,
offset: LocationListsOffset<R::Offset>
) -> Result<LocListIter<R>>[src]
&self,
unit: &Unit<R>,
offset: LocationListsOffset<R::Offset>
) -> Result<LocListIter<R>>
Iterate over the LocationListEntrys starting at the given offset.
pub fn attr_locations_offset(
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<LocationListsOffset<R::Offset>>>[src]
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<LocationListsOffset<R::Offset>>>
Try to return an attribute value as a location list offset.
If the attribute value is one of:
- a
DW_FORM_sec_offsetreference to the.debug_locor.debug_loclistssections - a
DW_FORM_loclistxindex into the.debug_loclistsentries for the unit
then return the location list offset of the location list.
Returns None for other forms.
pub fn attr_locations(
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<LocListIter<R>>>[src]
&self,
unit: &Unit<R>,
attr: AttributeValue<R, R::Offset>
) -> Result<Option<LocListIter<R>>>
Try to return an attribute value as a location list entry iterator.
If the attribute value is one of:
- a
DW_FORM_sec_offsetreference to the.debug_locor.debug_loclistssections - a
DW_FORM_loclistxindex into the.debug_loclistsentries for the unit
then return an iterator over the entries in the location list.
Returns None for other forms.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,