class IPDBSession

Declaration

class IPDBSession { /* full declaration omitted */ };

Description

IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB).

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:25

Method Overview

  • public virtual bool addressForRVA(uint32_t RVA, uint32_t & Section, uint32_t & Offset) const
  • public virtual bool addressForVA(uint64_t VA, uint32_t & Section, uint32_t & Offset) const
  • public virtual std::unique_ptr<IPDBEnumChildren<PDBSymbolCompiland>> findCompilandsForSourceFile(llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
  • public virtual std::unique_ptr<IPDBEnumLineNumbers> findLineNumbers(const llvm::pdb::PDBSymbolCompiland & Compiland, const llvm::pdb::IPDBSourceFile & File) const
  • public virtual std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersByAddress(uint64_t Address, uint32_t Length) const
  • public virtual std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersByRVA(uint32_t RVA, uint32_t Length) const
  • public virtual std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersBySectOffset(uint32_t Section, uint32_t Offset, uint32_t Length) const
  • public virtual std::unique_ptr<PDBSymbolCompiland> findOneCompilandForSourceFile(llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
  • public virtual std::unique_ptr<IPDBSourceFile> findOneSourceFile(const llvm::pdb::PDBSymbolCompiland * Compiland, llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
  • public virtual std::unique_ptr<IPDBEnumSourceFiles> findSourceFiles(const llvm::pdb::PDBSymbolCompiland * Compiland, llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
  • public virtual std::unique_ptr<PDBSymbol> findSymbolByAddress(uint64_t Address, llvm::pdb::PDB_SymType Type)
  • public virtual std::unique_ptr<PDBSymbol> findSymbolByRVA(uint32_t RVA, llvm::pdb::PDB_SymType Type)
  • public virtual std::unique_ptr<PDBSymbol> findSymbolBySectOffset(uint32_t Sect, uint32_t Offset, llvm::pdb::PDB_SymType Type)
  • public virtual std::unique_ptr<IPDBEnumSourceFiles> getAllSourceFiles() const
  • public template <typename T>std::unique_ptr<T> getConcreteSymbolById(llvm::pdb::SymIndexId SymbolId) const
  • public virtual std::unique_ptr<IPDBEnumDataStreams> getDebugStreams() const
  • public virtual std::unique_ptr<IPDBEnumTables> getEnumTables() const
  • public virtual std::unique_ptr<IPDBEnumFrameData> getFrameData() const
  • public virtual std::unique_ptr<PDBSymbolExe> getGlobalScope()
  • public virtual std::unique_ptr<IPDBEnumInjectedSources> getInjectedSources() const
  • public virtual uint64_t getLoadAddress() const
  • public virtual std::unique_ptr<IPDBEnumSectionContribs> getSectionContribs() const
  • public virtual std::unique_ptr<IPDBSourceFile> getSourceFileById(uint32_t FileId) const
  • public virtual std::unique_ptr<IPDBEnumSourceFiles> getSourceFilesForCompiland(const llvm::pdb::PDBSymbolCompiland & Compiland) const
  • public virtual std::unique_ptr<PDBSymbol> getSymbolById(llvm::pdb::SymIndexId SymbolId) const
  • public virtual bool setLoadAddress(uint64_t Address)
  • public virtual ~IPDBSession()

Methods

virtual bool addressForRVA(uint32_t RVA,
                           uint32_t& Section,
                           uint32_t& Offset) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:37

Parameters

uint32_t RVA
uint32_t& Section
uint32_t& Offset

virtual bool addressForVA(uint64_t VA,
                          uint32_t& Section,
                          uint32_t& Offset) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:35

Parameters

uint64_t VA
uint32_t& Section
uint32_t& Offset

virtual std::unique_ptr<
    IPDBEnumChildren<PDBSymbolCompiland>>
findCompilandsForSourceFile(
    llvm::StringRef Pattern,
    llvm::pdb::PDB_NameSearchFlags Flags) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:71

Parameters

llvm::StringRef Pattern
llvm::pdb::PDB_NameSearchFlags Flags

virtual std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbers(
    const llvm::pdb::PDBSymbolCompiland&
        Compiland,
    const llvm::pdb::IPDBSourceFile& File) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:53

Parameters

const llvm::pdb::PDBSymbolCompiland& Compiland
const llvm::pdb::IPDBSourceFile& File

virtual std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByAddress(uint64_t Address,
                         uint32_t Length) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:56

Parameters

uint64_t Address
uint32_t Length

virtual std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByRVA(uint32_t RVA,
                     uint32_t Length) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:58

Parameters

uint32_t RVA
uint32_t Length

virtual std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersBySectOffset(uint32_t Section,
                            uint32_t Offset,
                            uint32_t Length) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:60

Parameters

uint32_t Section
uint32_t Offset
uint32_t Length

virtual std::unique_ptr<PDBSymbolCompiland>
findOneCompilandForSourceFile(
    llvm::StringRef Pattern,
    llvm::pdb::PDB_NameSearchFlags Flags) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:74

Parameters

llvm::StringRef Pattern
llvm::pdb::PDB_NameSearchFlags Flags

virtual std::unique_ptr<IPDBSourceFile>
findOneSourceFile(
    const llvm::pdb::PDBSymbolCompiland*
        Compiland,
    llvm::StringRef Pattern,
    llvm::pdb::PDB_NameSearchFlags Flags) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:67

Parameters

const llvm::pdb::PDBSymbolCompiland* Compiland
llvm::StringRef Pattern
llvm::pdb::PDB_NameSearchFlags Flags

virtual std::unique_ptr<IPDBEnumSourceFiles>
findSourceFiles(
    const llvm::pdb::PDBSymbolCompiland*
        Compiland,
    llvm::StringRef Pattern,
    llvm::pdb::PDB_NameSearchFlags Flags) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:64

Parameters

const llvm::pdb::PDBSymbolCompiland* Compiland
llvm::StringRef Pattern
llvm::pdb::PDB_NameSearchFlags Flags

virtual std::unique_ptr<PDBSymbol>
findSymbolByAddress(uint64_t Address,
                    llvm::pdb::PDB_SymType Type)

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:45

Parameters

uint64_t Address
llvm::pdb::PDB_SymType Type

virtual std::unique_ptr<PDBSymbol>
findSymbolByRVA(uint32_t RVA,
                llvm::pdb::PDB_SymType Type)

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:47

Parameters

uint32_t RVA
llvm::pdb::PDB_SymType Type

virtual std::unique_ptr<PDBSymbol>
findSymbolBySectOffset(
    uint32_t Sect,
    uint32_t Offset,
    llvm::pdb::PDB_SymType Type)

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:50

Parameters

uint32_t Sect
uint32_t Offset
llvm::pdb::PDB_SymType Type

virtual std::unique_ptr<IPDBEnumSourceFiles>
getAllSourceFiles() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:77

template <typename T>
std::unique_ptr<T> getConcreteSymbolById(
    llvm::pdb::SymIndexId SymbolId) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:41

Templates

T

Parameters

llvm::pdb::SymIndexId SymbolId

virtual std::unique_ptr<IPDBEnumDataStreams>
getDebugStreams() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:83

virtual std::unique_ptr<IPDBEnumTables>
getEnumTables() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:85

virtual std::unique_ptr<IPDBEnumFrameData>
getFrameData() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:94

virtual std::unique_ptr<PDBSymbolExe>
getGlobalScope()

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:31

virtual std::unique_ptr<IPDBEnumInjectedSources>
getInjectedSources() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:88

virtual uint64_t getLoadAddress() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:29

virtual std::unique_ptr<IPDBEnumSectionContribs>
getSectionContribs() const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:91

virtual std::unique_ptr<IPDBSourceFile>
getSourceFileById(uint32_t FileId) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:81

Parameters

uint32_t FileId

virtual std::unique_ptr<IPDBEnumSourceFiles>
getSourceFilesForCompiland(
    const llvm::pdb::PDBSymbolCompiland&
        Compiland) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:79

Parameters

const llvm::pdb::PDBSymbolCompiland& Compiland

virtual std::unique_ptr<PDBSymbol> getSymbolById(
    llvm::pdb::SymIndexId SymbolId) const

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:33

Parameters

llvm::pdb::SymIndexId SymbolId

virtual bool setLoadAddress(uint64_t Address)

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:30

Parameters

uint64_t Address

virtual ~IPDBSession()

Declared at: llvm/include/llvm/DebugInfo/PDB/IPDBSession.h:27