Struct gimli::DebugRanges
[−]
[src]
pub struct DebugRanges<R: Reader> { /* fields omitted */ }
The DebugRanges
struct represents the DWARF strings
found in the .debug_ranges
section.
Methods
impl<'input, Endian> DebugRanges<EndianBuf<'input, Endian>> where
Endian: Endianity,
[src]
Endian: Endianity,
fn new(debug_ranges_section: &'input [u8], endian: Endian) -> Self
Construct a new DebugRanges
instance from the data in the .debug_ranges
section.
It is the caller's responsibility to read the .debug_ranges
section and
present it as a &[u8]
slice. That means using some ELF loader on
Linux, a Mach-O loader on OSX, etc.
use gimli::{DebugRanges, LittleEndian}; let debug_ranges = DebugRanges::new(read_debug_ranges_section_somehow(), LittleEndian);
impl<R: Reader> DebugRanges<R>
[src]
fn ranges(
&self,
offset: DebugRangesOffset<R::Offset>,
address_size: u8,
base_address: u64
) -> Result<RangesIter<R>>
&self,
offset: DebugRangesOffset<R::Offset>,
address_size: u8,
base_address: u64
) -> Result<RangesIter<R>>
Iterate over the Range
list entries starting at the given offset.
The address_size
must be match the compilation unit for this range list.
The base_address
should be obtained from the DW_AT_low_pc
attribute in the
DW_TAG_compile_unit
entry for the compilation unit that contains this range list.
Can be used with
FallibleIterator
.
fn raw_ranges(
&self,
offset: DebugRangesOffset<R::Offset>,
address_size: u8
) -> Result<RawRangesIter<R>>
&self,
offset: DebugRangesOffset<R::Offset>,
address_size: u8
) -> Result<RawRangesIter<R>>
Iterate over the raw Range
list entries starting at the given offset.
The address_size
must be match the compilation unit for this range list.
This iterator does not perform any processing of the range entries, such as handling base addresses.
Can be used with
FallibleIterator
.
Trait Implementations
impl<R: Debug + Reader> Debug for DebugRanges<R>
[src]
impl<R: Clone + Reader> Clone for DebugRanges<R>
[src]
fn clone(&self) -> DebugRanges<R>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<R: Copy + Reader> Copy for DebugRanges<R>
[src]
impl<R: Reader> Section<R> for DebugRanges<R>
[src]
fn section_name() -> &'static str
Returns the ELF section name for this type.
impl<R: Reader> From<R> for DebugRanges<R>
[src]
fn from(debug_ranges_section: R) -> Self
Performs the conversion.