pub struct Dwarf {
pub units: UnitTable,
pub line_programs: Vec<LineProgram>,
pub line_strings: LineStringTable,
pub strings: StringTable,
}
Expand description
Writable DWARF information for more than one unit.
Fields§
§units: UnitTable
A table of units. These are primarily stored in the .debug_info
section,
but they also contain information that is stored in other sections.
line_programs: Vec<LineProgram>
Extra line number programs that are not associated with a unit.
These should only be used when generating DWARF5 line-only debug information.
line_strings: LineStringTable
A table of strings that will be stored in the .debug_line_str
section.
strings: StringTable
A table of strings that will be stored in the .debug_str
section.
Implementations§
source§impl Dwarf
impl Dwarf
sourcepub fn from<R: Reader<Offset = usize>>(
dwarf: &Dwarf<R>,
convert_address: &dyn Fn(u64) -> Option<Address>,
) -> ConvertResult<Dwarf>
pub fn from<R: Reader<Offset = usize>>( dwarf: &Dwarf<R>, convert_address: &dyn Fn(u64) -> Option<Address>, ) -> ConvertResult<Dwarf>
Create a write::Dwarf
by converting a read::Dwarf
.
convert_address
is a function to convert read addresses into the Address
type. For non-relocatable addresses, this function may simply return
Address::Constant(address)
. For relocatable addresses, it is the caller’s
responsibility to determine the symbol and addend corresponding to the address
and return Address::Symbol { symbol, addend }
.