Struct gimli::FrameDescriptionEntry [−][src]
pub struct FrameDescriptionEntry<Section, R, Offset = usize> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>, { /* fields omitted */ }
A FrameDescriptionEntry
is a set of CFA instructions for an address range.
Methods
impl<Section, R, Offset> FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
[src]
impl<Section, R, Offset> FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
Signal Safe Methods
These methods are guaranteed not to allocate, acquire locks, or perform any other signal-unsafe operations.
pub fn offset(&self) -> Offset
[src]
pub fn offset(&self) -> Offset
Get the offset of this entry from the start of its containing section.
pub fn cie(&self) -> &CommonInformationEntry<Section, R, R::Offset>
[src]
pub fn cie(&self) -> &CommonInformationEntry<Section, R, R::Offset>
Get a reference to this FDE's CIE.
pub fn entry_len(&self) -> Offset
[src]
pub fn entry_len(&self) -> Offset
A constant that gives the number of bytes of the header and instruction stream for this function, not including the length field itself (see Section 7.2.2). The size of the length field plus the value of length must be an integral multiple of the address size.
pub fn instructions(&self) -> CallFrameInstructionIter<R>
[src]
pub fn instructions(&self) -> CallFrameInstructionIter<R>
Iterate over this FDE's instructions.
Will not include the CIE's initial instructions, if you want those do
fde.cie().instructions()
first.
Can be used with
FallibleIterator
.
pub fn initial_address(&self) -> u64
[src]
pub fn initial_address(&self) -> u64
The first address for which this entry has unwind information for.
pub fn len(&self) -> u64
[src]
pub fn len(&self) -> u64
The number of bytes of instructions that this entry has unwind information for.
pub fn contains(&self, address: u64) -> bool
[src]
pub fn contains(&self, address: u64) -> bool
Return true
if the given address is within this FDE, false
otherwise.
This is equivalent to entry.initial_address() <= address < entry.initial_address() + entry.len()
.
pub fn lsda(&self) -> Option<Pointer>
[src]
pub fn lsda(&self) -> Option<Pointer>
The address of this FDE's language-specific data area (LSDA), if it has any.
pub fn is_signal_trampoline(&self) -> bool
[src]
pub fn is_signal_trampoline(&self) -> bool
Return true if this FDE's function is a trampoline for a signal handler.
pub fn personality(&self) -> Option<Pointer>
[src]
pub fn personality(&self) -> Option<Pointer>
Return the address of the FDE's function's personality routine handler. The personality routine does language-specific clean up when unwinding the stack frames with the intent to not run them again.
Trait Implementations
impl<Section: Clone, R: Clone, Offset: Clone> Clone for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
[src]
impl<Section: Clone, R: Clone, Offset: Clone> Clone for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
fn clone(&self) -> FrameDescriptionEntry<Section, R, Offset>
[src]
fn clone(&self) -> FrameDescriptionEntry<Section, R, Offset>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<Section: Debug, R: Debug, Offset: Debug> Debug for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
[src]
impl<Section: Debug, R: Debug, Offset: Debug> Debug for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<Section: PartialEq, R: PartialEq, Offset: PartialEq> PartialEq for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
[src]
impl<Section: PartialEq, R: PartialEq, Offset: PartialEq> PartialEq for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
fn eq(&self, other: &FrameDescriptionEntry<Section, R, Offset>) -> bool
[src]
fn eq(&self, other: &FrameDescriptionEntry<Section, R, Offset>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &FrameDescriptionEntry<Section, R, Offset>) -> bool
[src]
fn ne(&self, other: &FrameDescriptionEntry<Section, R, Offset>) -> bool
This method tests for !=
.
impl<Section: Eq, R: Eq, Offset: Eq> Eq for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
[src]
impl<Section: Eq, R: Eq, Offset: Eq> Eq for FrameDescriptionEntry<Section, R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Section: UnwindSection<R>,
Section::Offset: UnwindOffset<R::Offset>,
Auto Trait Implementations
impl<Section, R, Offset> Send for FrameDescriptionEntry<Section, R, Offset> where
Offset: Send,
R: Send,
Section: Send,
impl<Section, R, Offset> Send for FrameDescriptionEntry<Section, R, Offset> where
Offset: Send,
R: Send,
Section: Send,
impl<Section, R, Offset> Sync for FrameDescriptionEntry<Section, R, Offset> where
Offset: Sync,
R: Sync,
Section: Sync,
impl<Section, R, Offset> Sync for FrameDescriptionEntry<Section, R, Offset> where
Offset: Sync,
R: Sync,
Section: Sync,