StructsΒ§
- Augmentation
- We support the z-style augmentation defined by
.eh_frame
. - Augmentation
Data π - Parsed augmentation data for a
FrameDescriptEntry
. - Base
Addresses - Optional base addresses for the relative
DW_EH_PE_*
encoded pointers. - Call
Frame Instruction Iter - A lazy iterator parsing call frame instructions.
- CfiEntries
Iter - An iterator over CIE and FDE entries in a
.debug_frame
or.eh_frame
section. - Common
Information Entry A Common Information Entry holds information that is shared among many Frame Description Entries. There is at least one CIE in every non-empty
.debug_frame
section.- Debug
Frame DebugFrame
contains the.debug_frame
sectionβs frame unwinding information required to unwind to and recover registers from older frames on the stack. For example, this is useful for a debugger that wants to print locals in a backtrace.- EhFrame
EhFrame
contains the frame unwinding information needed during exception handling found in the.eh_frame
section.- EhFrame
Hdr EhFrameHdr
contains the information about the.eh_frame_hdr
section.- EhHdr
Table - The CFI binary search table that is an optional part of the
.eh_frame_hdr
section. - EhHdr
Table Iter - An iterator for
.eh_frame_hdr
sectionβs binary search table. - Frame
Description Entry - A
FrameDescriptionEntry
is a set of CFA instructions for an address range. - Parsed
EhFrame Hdr ParsedEhFrameHdr
contains the parsed information from the.eh_frame_hdr
section.- Partial
Frame Description Entry - A partially parsed
FrameDescriptionEntry
. - Pointer
Encoding πParameters - Register
Rule Iter - An unordered iterator for register rules.
- Register
Rule πMap - Section
Base Addresses - Optional base addresses for the relative
DW_EH_PE_*
encoded pointers in a particular section. - Unwind
Context - Common context needed when evaluating the call frame unwinding information.
- Unwind
Expression - The location of a DWARF expression within an unwind section.
- Unwind
Table - The
UnwindTable
iteratively evaluates aFrameDescriptionEntry
βsCallFrameInstruction
program, yielding the each row one at a time. - Unwind
Table Row - A row in the virtual unwind table that describes how to find the values of the registers in the previous frame for a range of PC addresses.
EnumsΒ§
- Call
Frame Instruction - A parsed call frame instruction.
- CfaRule
- The canonical frame address (CFA) recovery rules.
- CieOr
Fde - Either a
CommonInformationEntry
(CIE) or aFrameDescriptionEntry
(FDE). - Pointer
- A decoded pointer.
- Register
Rule - An entry in the abstract CFI table that describes how to find the value of a register.
ConstantsΒ§
- CFI_
INSTRUCTION_ πHIGH_ BITS_ MASK - CFI_
INSTRUCTION_ πLOW_ BITS_ MASK - MAX_
RULES π - MAX_
UNWIND_ πSTACK_ DEPTH
TraitsΒ§
- Unwind
Context Storage - Specification of what storage should be used for
UnwindContext
. - Unwind
Offset - An offset into an
UnwindSection
. - Unwind
Section - A section holding unwind information: either
.debug_frame
or.eh_frame
. SeeDebugFrame
andEhFrame
respectively.
FunctionsΒ§
- parse_
cfi_ πentry - parse_
encoded_ πpointer - parse_
encoded_ πvalue