struct DWARFDebugLine::LineTable

Declaration

struct DWARFDebugLine::LineTable { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:238

Member Variables

public const uint32_t UnknownRowIndex = (4294967295U)
Represents an invalid row
public struct Prologue Prologue
public llvm::DWARFDebugLine::LineTable::RowVector Rows
public llvm::DWARFDebugLine::LineTable::SequenceVector Sequences

Method Overview

  • public LineTable()
  • public void appendRow(const DWARFDebugLine::Row & R)
  • public void appendSequence(const DWARFDebugLine::Sequence & S)
  • public void clear()
  • public void dump(llvm::raw_ostream & OS, llvm::DIDumpOptions DumpOptions) const
  • public bool getFileLineInfoForAddress(object::SectionedAddress Address, const char * CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, llvm::DILineInfo & Result) const
  • public bool getFileNameByIndex(uint64_t FileIndex, llvm::StringRef CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, std::string & Result) const
  • public bool hasFileAtIndex(uint64_t FileIndex) const
  • public uint32_t lookupAddress(object::SectionedAddress Address) const
  • public bool lookupAddressRange(object::SectionedAddress Address, uint64_t Size, std::vector<uint32_t> & Result) const
  • public llvm::Error parse(llvm::DWARFDataExtractor & DebugLineData, uint64_t * OffsetPtr, const llvm::DWARFContext & Ctx, const llvm::DWARFUnit * U, function_ref<void (llvm::Error)> RecoverableErrorCallback, llvm::raw_ostream * OS = nullptr)

Methods

LineTable()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:239

void appendRow(const DWARFDebugLine::Row& R)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:244

Parameters

const DWARFDebugLine::Row& R

void appendSequence(
    const DWARFDebugLine::Sequence& S)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:246

Parameters

const DWARFDebugLine::Sequence& S

void clear()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:280

void dump(llvm::raw_ostream& OS,
          llvm::DIDumpOptions DumpOptions) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:279

Parameters

llvm::raw_ostream& OS
llvm::DIDumpOptions DumpOptions

bool getFileLineInfoForAddress(
    object::SectionedAddress Address,
    const char* CompDir,
    DILineInfoSpecifier::FileLineInfoKind Kind,
    llvm::DILineInfo& Result) const

Description

Fills the Result argument with the file and line information corresponding to Address. Returns true on success.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:274

Parameters

object::SectionedAddress Address
const char* CompDir
DILineInfoSpecifier::FileLineInfoKind Kind
llvm::DILineInfo& Result

bool getFileNameByIndex(
    uint64_t FileIndex,
    llvm::StringRef CompDir,
    DILineInfoSpecifier::FileLineInfoKind Kind,
    std::string& Result) const

Description

Extracts filename by its index in filename table in prologue. In Dwarf 4, the files are 1-indexed and the current compilation file name is not represented in the list. In DWARF v5, the files are 0-indexed and the primary source file has the index 0. Returns true on success.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:266

Parameters

uint64_t FileIndex
llvm::StringRef CompDir
DILineInfoSpecifier::FileLineInfoKind Kind
std::string& Result

bool hasFileAtIndex(uint64_t FileIndex) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:257

Parameters

uint64_t FileIndex

uint32_t lookupAddress(
    object::SectionedAddress Address) const

Description

Returns the index of the row with file/line info for a given address, or UnknownRowIndex if there is no such row.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:252

Parameters

object::SectionedAddress Address

bool lookupAddressRange(
    object::SectionedAddress Address,
    uint64_t Size,
    std::vector<uint32_t>& Result) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:254

Parameters

object::SectionedAddress Address
uint64_t Size
std::vector<uint32_t>& Result

llvm::Error parse(
    llvm::DWARFDataExtractor& DebugLineData,
    uint64_t* OffsetPtr,
    const llvm::DWARFContext& Ctx,
    const llvm::DWARFUnit* U,
    function_ref<void(llvm::Error)>
        RecoverableErrorCallback,
    llvm::raw_ostream* OS = nullptr)

Description

Parse prologue and all rows.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h:283

Parameters

llvm::DWARFDataExtractor& DebugLineData
uint64_t* OffsetPtr
const llvm::DWARFContext& Ctx
const llvm::DWARFUnit* U
function_ref<void(llvm::Error)> RecoverableErrorCallback
llvm::raw_ostream* OS = nullptr