Crate gimli [] [src]

A parser for the DWARF debugging information format.

This library targets the fourth edition of the standard (the most recent, at time of writing).

TODO FITZGEN: example usage here!

Structs

Abbreviation

An abbreviation describes the shape of a DebuggingInformationEntry's type: its code, tag type, whether it has children, and its set of attributes.

Abbreviations

A set of type abbreviations.

Attribute

An attribute in a DebuggingInformationEntry, consisting of a name and associated value.

AttributeSpecification

The description of an attribute in an abbreviated type. It is a pair of name and form.

AttrsIter

An iterator over a particular entry's attributes.

DebugAbbrev

The DebugAbbrev struct represents the abbreviations describing DebuggingInformationEntrys' attribute names and forms found in the .debug_abbrev section.

DebugAbbrevOffset

An offset into the .debug_abbrev section.

DebugInfo

The DebugInfo struct represents the DWARF debugging information found in the .debug_info section.

DebugInfoOffset

An offset into the .debug_info section.

DebugLineOffset

An offset into the .debug_line section.

DebugLocOffset

An offset into the .debug_loc section.

DebugMacinfoOffset

An offset into the .debug_macinfo section.

DebugStrOffset

An offset into the .debug_str section.

DebugTypes

The DebugTypes struct represents the DWARF type information found in the .debug_types section.

DebugTypesOffset

An offset into the .debug_types section.

DebuggingInformationEntry

A Debugging Information Entry (DIE).

DwAt
DwChildren
DwForm
DwTag
EntriesCursor

A cursor into the Debugging Information Entries tree for a compilation unit.

TypeUnitHeader

The header of a type unit's debugging information.

TypeUnitHeadersIter

An iterator over the type-units of this .debug_types section.

UnitHeader

The header of a compilation unit's debugging information.

UnitHeadersIter

An iterator over the compilation- and partial-units of a section.

UnitOffset

An offset into the current compilation or type unit.

Enums

AttributeValue

The value of an attribute in a DebuggingInformationEntry.

BigEndian

Big endian byte order.

Error

An error that occurred when parsing.

Format

Whether the format of a compilation unit is 32- or 64-bit.

LittleEndian

Little endian byte order.

Constants

DW_AT_abstract_origin
DW_AT_accessibility
DW_AT_address_class
DW_AT_allocated
DW_AT_artificial
DW_AT_associated
DW_AT_base_types
DW_AT_binary_scale
DW_AT_bit_offset
DW_AT_bit_size
DW_AT_bit_stride
DW_AT_byte_size
DW_AT_byte_stride
DW_AT_call_column
DW_AT_call_file
DW_AT_call_line
DW_AT_calling_convention
DW_AT_common_reference
DW_AT_comp_dir
DW_AT_const_expr
DW_AT_const_value
DW_AT_containing_type
DW_AT_count
DW_AT_data_bit_offset
DW_AT_data_location
DW_AT_data_member_location
DW_AT_decimal_scale
DW_AT_decimal_sign
DW_AT_decl_column
DW_AT_decl_file
DW_AT_decl_line
DW_AT_declaration
DW_AT_default_value
DW_AT_description
DW_AT_digit_count
DW_AT_discr
DW_AT_discr_list
DW_AT_discr_value
DW_AT_elemental
DW_AT_encoding
DW_AT_endianity
DW_AT_entry_pc
DW_AT_enum_class
DW_AT_explicit
DW_AT_extension
DW_AT_external
DW_AT_frame_base
DW_AT_friend
DW_AT_hi_user
DW_AT_high_pc
DW_AT_identifier_case
DW_AT_import
DW_AT_inline
DW_AT_is_optional
DW_AT_language
DW_AT_linkage_name
DW_AT_lo_user
DW_AT_location
DW_AT_low_pc
DW_AT_lower_bound
DW_AT_macro_info
DW_AT_main_subprogram
DW_AT_mutable
DW_AT_name
DW_AT_namelist_item
DW_AT_null
DW_AT_object_pointer
DW_AT_ordering
DW_AT_picture_string
DW_AT_priority
DW_AT_producer
DW_AT_prototyped
DW_AT_pure
DW_AT_ranges
DW_AT_recursive
DW_AT_return_addr
DW_AT_segment
DW_AT_sibling
DW_AT_signature
DW_AT_small
DW_AT_specification
DW_AT_start_scope
DW_AT_static_link
DW_AT_stmt_list
DW_AT_string_length
DW_AT_threads_scaled
DW_AT_trampoline
DW_AT_type
DW_AT_upper_bound
DW_AT_use_UTF8
DW_AT_use_location
DW_AT_variable_parameter
DW_AT_virtuality
DW_AT_visibility
DW_AT_vtable_elem_location
DW_CHILDREN_no
DW_CHILDREN_yes
DW_FORM_addr
DW_FORM_block
DW_FORM_block1
DW_FORM_block2
DW_FORM_block4
DW_FORM_data1
DW_FORM_data2
DW_FORM_data4
DW_FORM_data8
DW_FORM_exprloc
DW_FORM_flag
DW_FORM_flag_present
DW_FORM_indirect
DW_FORM_null
DW_FORM_ref1
DW_FORM_ref2
DW_FORM_ref4
DW_FORM_ref8
DW_FORM_ref_addr
DW_FORM_ref_sig8
DW_FORM_ref_udata
DW_FORM_sdata
DW_FORM_sec_offset
DW_FORM_string
DW_FORM_strp
DW_FORM_udata
DW_TAG_access_declaration
DW_TAG_array_type
DW_TAG_base_type
DW_TAG_catch_block
DW_TAG_class_type
DW_TAG_common_block
DW_TAG_common_inclusion
DW_TAG_compile_unit
DW_TAG_condition
DW_TAG_const_type
DW_TAG_constant
DW_TAG_dwarf_procedure
DW_TAG_entry_point
DW_TAG_enumeration_type
DW_TAG_enumerator
DW_TAG_file_type
DW_TAG_formal_parameter
DW_TAG_friend
DW_TAG_hi_user
DW_TAG_imported_declaration
DW_TAG_imported_module
DW_TAG_imported_unit
DW_TAG_inheritance
DW_TAG_inlined_subroutine
DW_TAG_interface_type
DW_TAG_label
DW_TAG_lexical_block
DW_TAG_lo_user
DW_TAG_member
DW_TAG_module
DW_TAG_namelist
DW_TAG_namelist_item
DW_TAG_namespace
DW_TAG_null
DW_TAG_packed_type
DW_TAG_partial_unit
DW_TAG_pointer_type
DW_TAG_ptr_to_member_type
DW_TAG_reference_type
DW_TAG_restrict_type
DW_TAG_rvalue_reference_type
DW_TAG_set_type
DW_TAG_shared_type
DW_TAG_string_type
DW_TAG_structure_type
DW_TAG_subprogram
DW_TAG_subrange_type
DW_TAG_subroutine_type
DW_TAG_template_alias
DW_TAG_template_type_parameter
DW_TAG_template_value_parameter
DW_TAG_thrown_type
DW_TAG_try_block
DW_TAG_type_unit
DW_TAG_typedef
DW_TAG_union_type
DW_TAG_unspecified_parameters
DW_TAG_unspecified_type
DW_TAG_variable
DW_TAG_variant
DW_TAG_variant_part
DW_TAG_volatile_type
DW_TAG_with_stmt

Traits

Endianity

A trait describing the endianity of some buffer.

Type Definitions

ParseResult

The result of a parse.