Struct gimli::LineNumberProgramHeader [] [src]

pub struct LineNumberProgramHeader<'input, Endian> where Endian: Endianity {
    // some fields omitted
}

A header for a line number program in the .debug_line section, as defined in section 6.2.4 of the standard.

Methods

impl<'input, Endian> LineNumberProgramHeader<'input, Endian> where Endian: Endianity
[src]

Parse the line number program header at the given offset in the .debug_line section.

use gimli::{DebugLine, DebugLineOffset, LineNumberProgramHeader, LittleEndian};

let debug_line = DebugLine::<LittleEndian>::new(read_debug_line_section_somehow());

// In a real example, we'd grab the offset via a compilation unit
// entry's `DW_AT_stmt_list` attribute, and the address size from that
// unit directly.
let offset = DebugLineOffset(0);
let address_size = 8;

let header = LineNumberProgramHeader::new(debug_line, offset, address_size)
    .expect("should have found a header at that offset, and parsed it OK");

Return the length of the line number program and header, not including the length of the encoded length itself.

Get the version of this header's line program.

Get the length of the encoded line number program header, not including the length of the encoded length itself.

Get the minimum instruction length any opcode in this header's line program may have.

Get the maximum number of operations each instruction in this header's line program may have.

Get the default value of the is_stmt register for this header's line program.

Get the line base for this header's line program.

Get the line range for this header's line program.

Get opcode base for this header's line program.

The byte lengths of each standard opcode in this header's line program.

Get the set of include directories for this header's line program.

The compilation's current directory is not included in the return value, but is implicitly considered to be in the set per spec.

Get the list of source files that appear in this header's line program.

Iterate over the opcodes in this header's line number program, parsing them as we go.

Trait Implementations

impl<'input, Endian: PartialEq> PartialEq for LineNumberProgramHeader<'input, Endian> where Endian: Endianity
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'input, Endian: Eq> Eq for LineNumberProgramHeader<'input, Endian> where Endian: Endianity
[src]

impl<'input, Endian: Debug> Debug for LineNumberProgramHeader<'input, Endian> where Endian: Endianity
[src]

Formats the value using the given formatter.

impl<'input, Endian: Clone> Clone for LineNumberProgramHeader<'input, Endian> where Endian: Endianity
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more