class NativeSession
Declaration
class NativeSession : public 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/Native/NativeSession.h:32
Inherits from: IPDBSession
Member Variables
- private std::unique_ptr<PDBFile> Pdb
- private std::unique_ptr<BumpPtrAllocator> Allocator
- private llvm::pdb::SymbolCache Cache
- private llvm::pdb::SymIndexId ExeSymbol = 0
- private uint64_t LoadAddress = 0
- private IMap::Allocator IMapAllocator
- private llvm::pdb::NativeSession::IMap AddrToModuleIndex
Method Overview
- public NativeSession(std::unique_ptr<PDBFile> PdbFile, std::unique_ptr<BumpPtrAllocator> Allocator)
- public bool addressForRVA(uint32_t RVA, uint32_t & Section, uint32_t & Offset) const
- public bool addressForVA(uint64_t VA, uint32_t & Section, uint32_t & Offset) const
- public static llvm::Error createFromExe(llvm::StringRef Path, std::unique_ptr<IPDBSession> & Session)
- public static llvm::Error createFromPdb(std::unique_ptr<MemoryBuffer> MB, std::unique_ptr<IPDBSession> & Session)
- public static llvm::Error createFromPdbPath(llvm::StringRef PdbPath, std::unique_ptr<IPDBSession> & Session)
- public std::unique_ptr<IPDBEnumChildren<PDBSymbolCompiland>> findCompilandsForSourceFile(llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
- public std::unique_ptr<IPDBEnumLineNumbers> findLineNumbers(const llvm::pdb::PDBSymbolCompiland & Compiland, const llvm::pdb::IPDBSourceFile & File) const
- public std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersByAddress(uint64_t Address, uint32_t Length) const
- public std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersByRVA(uint32_t RVA, uint32_t Length) const
- public std::unique_ptr<IPDBEnumLineNumbers> findLineNumbersBySectOffset(uint32_t Section, uint32_t Offset, uint32_t Length) const
- public std::unique_ptr<PDBSymbolCompiland> findOneCompilandForSourceFile(llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
- public std::unique_ptr<IPDBSourceFile> findOneSourceFile(const llvm::pdb::PDBSymbolCompiland * Compiland, llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
- public std::unique_ptr<IPDBEnumSourceFiles> findSourceFiles(const llvm::pdb::PDBSymbolCompiland * Compiland, llvm::StringRef Pattern, llvm::pdb::PDB_NameSearchFlags Flags) const
- public std::unique_ptr<PDBSymbol> findSymbolByAddress(uint64_t Address, llvm::pdb::PDB_SymType Type)
- public std::unique_ptr<PDBSymbol> findSymbolByRVA(uint32_t RVA, llvm::pdb::PDB_SymType Type)
- public std::unique_ptr<PDBSymbol> findSymbolBySectOffset(uint32_t Sect, uint32_t Offset, llvm::pdb::PDB_SymType Type)
- public std::unique_ptr<IPDBEnumSourceFiles> getAllSourceFiles() const
- public std::unique_ptr<IPDBEnumDataStreams> getDebugStreams() const
- public std::unique_ptr<IPDBEnumTables> getEnumTables() const
- public std::unique_ptr<IPDBEnumFrameData> getFrameData() const
- public std::unique_ptr<PDBSymbolExe> getGlobalScope()
- public std::unique_ptr<IPDBEnumInjectedSources> getInjectedSources() const
- public uint64_t getLoadAddress() const
- public Expected<llvm::pdb::ModuleDebugStreamRef> getModuleDebugStream(uint32_t Index) const
- public llvm::pdb::NativeExeSymbol & getNativeGlobalScope() const
- public llvm::pdb::PDBFile & getPDBFile()
- public const llvm::pdb::PDBFile & getPDBFile() const
- public uint32_t getRVAFromSectOffset(uint32_t Section, uint32_t Offset) const
- public std::unique_ptr<IPDBEnumSectionContribs> getSectionContribs() const
- public std::unique_ptr<IPDBSourceFile> getSourceFileById(uint32_t FileId) const
- public std::unique_ptr<IPDBEnumSourceFiles> getSourceFilesForCompiland(const llvm::pdb::PDBSymbolCompiland & Compiland) const
- public std::unique_ptr<PDBSymbol> getSymbolById(llvm::pdb::SymIndexId SymbolId) const
- public llvm::pdb::SymbolCache & getSymbolCache()
- public const llvm::pdb::SymbolCache & getSymbolCache() const
- public uint64_t getVAFromSectOffset(uint32_t Section, uint32_t Offset) const
- private void initializeExeSymbol()
- public bool moduleIndexForSectOffset(uint32_t Sect, uint32_t Offset, uint16_t & ModuleIndex) const
- public bool moduleIndexForVA(uint64_t VA, uint16_t & ModuleIndex) const
- private void parseSectionContribs()
- public static Expected<std::string> searchForPdb(const llvm::pdb::NativeSession::PdbSearchOptions & Opts)
- public bool setLoadAddress(uint64_t Address)
- public ~NativeSession()
Inherited from IPDBSession:
- public addressForRVA
- public addressForVA
- public findCompilandsForSourceFile
- public findLineNumbers
- public findLineNumbersByAddress
- public findLineNumbersByRVA
- public findLineNumbersBySectOffset
- public findOneCompilandForSourceFile
- public findOneSourceFile
- public findSourceFiles
- public findSymbolByAddress
- public findSymbolByRVA
- public findSymbolBySectOffset
- public getAllSourceFiles
- public getConcreteSymbolById
- public getDebugStreams
- public getEnumTables
- public getFrameData
- public getGlobalScope
- public getInjectedSources
- public getLoadAddress
- public getSectionContribs
- public getSourceFileById
- public getSourceFilesForCompiland
- public getSymbolById
- public setLoadAddress
Methods
¶NativeSession(
std::unique_ptr<PDBFile> PdbFile,
std::unique_ptr<BumpPtrAllocator> Allocator)
NativeSession(
std::unique_ptr<PDBFile> PdbFile,
std::unique_ptr<BumpPtrAllocator> Allocator)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:39
Parameters
- std::unique_ptr<PDBFile> PdbFile
- std::unique_ptr<BumpPtrAllocator> Allocator
¶bool addressForRVA(uint32_t RVA,
uint32_t& Section,
uint32_t& Offset) const
bool addressForRVA(uint32_t RVA,
uint32_t& Section,
uint32_t& Offset) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:58
Parameters
- uint32_t RVA
- uint32_t& Section
- uint32_t& Offset
¶bool addressForVA(uint64_t VA,
uint32_t& Section,
uint32_t& Offset) const
bool addressForVA(uint64_t VA,
uint32_t& Section,
uint32_t& Offset) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:56
Parameters
- uint64_t VA
- uint32_t& Section
- uint32_t& Offset
¶static llvm::Error createFromExe(
llvm::StringRef Path,
std::unique_ptr<IPDBSession>& Session)
static llvm::Error createFromExe(
llvm::StringRef Path,
std::unique_ptr<IPDBSession>& Session)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:47
Parameters
- llvm::StringRef Path
- std::unique_ptr<IPDBSession>& Session
¶static llvm::Error createFromPdb(
std::unique_ptr<MemoryBuffer> MB,
std::unique_ptr<IPDBSession>& Session)
static llvm::Error createFromPdb(
std::unique_ptr<MemoryBuffer> MB,
std::unique_ptr<IPDBSession>& Session)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:43
Parameters
- std::unique_ptr<MemoryBuffer> MB
- std::unique_ptr<IPDBSession>& Session
¶static llvm::Error createFromPdbPath(
llvm::StringRef PdbPath,
std::unique_ptr<IPDBSession>& Session)
static llvm::Error createFromPdbPath(
llvm::StringRef PdbPath,
std::unique_ptr<IPDBSession>& Session)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:45
Parameters
- llvm::StringRef PdbPath
- std::unique_ptr<IPDBSession>& Session
¶std::unique_ptr<
IPDBEnumChildren<PDBSymbolCompiland>>
findCompilandsForSourceFile(
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
std::unique_ptr<
IPDBEnumChildren<PDBSymbolCompiland>>
findCompilandsForSourceFile(
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:88
Parameters
- llvm::StringRef Pattern
- llvm::pdb::PDB_NameSearchFlags Flags
¶std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbers(
const llvm::pdb::PDBSymbolCompiland&
Compiland,
const llvm::pdb::IPDBSourceFile& File) const
std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbers(
const llvm::pdb::PDBSymbolCompiland&
Compiland,
const llvm::pdb::IPDBSourceFile& File) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:70
Parameters
- const llvm::pdb::PDBSymbolCompiland& Compiland
- const llvm::pdb::IPDBSourceFile& File
¶std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByAddress(uint64_t Address,
uint32_t Length) const
std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByAddress(uint64_t Address,
uint32_t Length) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:73
Parameters
- uint64_t Address
- uint32_t Length
¶std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByRVA(uint32_t RVA,
uint32_t Length) const
std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersByRVA(uint32_t RVA,
uint32_t Length) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:75
Parameters
- uint32_t RVA
- uint32_t Length
¶std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersBySectOffset(uint32_t Section,
uint32_t Offset,
uint32_t Length) const
std::unique_ptr<IPDBEnumLineNumbers>
findLineNumbersBySectOffset(uint32_t Section,
uint32_t Offset,
uint32_t Length) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:77
Parameters
- uint32_t Section
- uint32_t Offset
- uint32_t Length
¶std::unique_ptr<PDBSymbolCompiland>
findOneCompilandForSourceFile(
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
std::unique_ptr<PDBSymbolCompiland>
findOneCompilandForSourceFile(
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:91
Parameters
- llvm::StringRef Pattern
- llvm::pdb::PDB_NameSearchFlags Flags
¶std::unique_ptr<IPDBSourceFile> findOneSourceFile(
const llvm::pdb::PDBSymbolCompiland*
Compiland,
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
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/Native/NativeSession.h:84
Parameters
- const llvm::pdb::PDBSymbolCompiland* Compiland
- llvm::StringRef Pattern
- llvm::pdb::PDB_NameSearchFlags Flags
¶std::unique_ptr<IPDBEnumSourceFiles>
findSourceFiles(
const llvm::pdb::PDBSymbolCompiland*
Compiland,
llvm::StringRef Pattern,
llvm::pdb::PDB_NameSearchFlags Flags) const
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/Native/NativeSession.h:81
Parameters
- const llvm::pdb::PDBSymbolCompiland* Compiland
- llvm::StringRef Pattern
- llvm::pdb::PDB_NameSearchFlags Flags
¶std::unique_ptr<PDBSymbol> findSymbolByAddress(
uint64_t Address,
llvm::pdb::PDB_SymType Type)
std::unique_ptr<PDBSymbol> findSymbolByAddress(
uint64_t Address,
llvm::pdb::PDB_SymType Type)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:61
Parameters
- uint64_t Address
- llvm::pdb::PDB_SymType Type
¶std::unique_ptr<PDBSymbol> findSymbolByRVA(
uint32_t RVA,
llvm::pdb::PDB_SymType Type)
std::unique_ptr<PDBSymbol> findSymbolByRVA(
uint32_t RVA,
llvm::pdb::PDB_SymType Type)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:63
Parameters
- uint32_t RVA
- llvm::pdb::PDB_SymType Type
¶std::unique_ptr<PDBSymbol> findSymbolBySectOffset(
uint32_t Sect,
uint32_t Offset,
llvm::pdb::PDB_SymType Type)
std::unique_ptr<PDBSymbol> findSymbolBySectOffset(
uint32_t Sect,
uint32_t Offset,
llvm::pdb::PDB_SymType Type)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:65
Parameters
- uint32_t Sect
- uint32_t Offset
- llvm::pdb::PDB_SymType Type
¶std::unique_ptr<IPDBEnumSourceFiles>
getAllSourceFiles() const
std::unique_ptr<IPDBEnumSourceFiles>
getAllSourceFiles() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:93
¶std::unique_ptr<IPDBEnumDataStreams>
getDebugStreams() const
std::unique_ptr<IPDBEnumDataStreams>
getDebugStreams() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:99
¶std::unique_ptr<IPDBEnumTables> getEnumTables()
const
std::unique_ptr<IPDBEnumTables> getEnumTables()
const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:101
¶std::unique_ptr<IPDBEnumFrameData> getFrameData()
const
std::unique_ptr<IPDBEnumFrameData> getFrameData()
const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:107
¶std::unique_ptr<PDBSymbolExe> getGlobalScope()
std::unique_ptr<PDBSymbolExe> getGlobalScope()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:53
¶std::unique_ptr<IPDBEnumInjectedSources>
getInjectedSources() const
std::unique_ptr<IPDBEnumInjectedSources>
getInjectedSources() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:103
¶uint64_t getLoadAddress() const
uint64_t getLoadAddress() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:51
¶Expected<llvm::pdb::ModuleDebugStreamRef>
getModuleDebugStream(uint32_t Index) const
Expected<llvm::pdb::ModuleDebugStreamRef>
getModuleDebugStream(uint32_t Index) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:120
Parameters
- uint32_t Index
¶llvm::pdb::NativeExeSymbol& getNativeGlobalScope()
const
llvm::pdb::NativeExeSymbol& getNativeGlobalScope()
const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:112
¶llvm::pdb::PDBFile& getPDBFile()
llvm::pdb::PDBFile& getPDBFile()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:109
¶const llvm::pdb::PDBFile& getPDBFile() const
const llvm::pdb::PDBFile& getPDBFile() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:110
¶uint32_t getRVAFromSectOffset(
uint32_t Section,
uint32_t Offset) const
uint32_t getRVAFromSectOffset(
uint32_t Section,
uint32_t Offset) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:115
Parameters
- uint32_t Section
- uint32_t Offset
¶std::unique_ptr<IPDBEnumSectionContribs>
getSectionContribs() const
std::unique_ptr<IPDBEnumSectionContribs>
getSectionContribs() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:105
¶std::unique_ptr<IPDBSourceFile> getSourceFileById(
uint32_t FileId) const
std::unique_ptr<IPDBSourceFile> getSourceFileById(
uint32_t FileId) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:97
Parameters
- uint32_t FileId
¶std::unique_ptr<IPDBEnumSourceFiles>
getSourceFilesForCompiland(
const llvm::pdb::PDBSymbolCompiland&
Compiland) const
std::unique_ptr<IPDBEnumSourceFiles>
getSourceFilesForCompiland(
const llvm::pdb::PDBSymbolCompiland&
Compiland) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:94
Parameters
- const llvm::pdb::PDBSymbolCompiland& Compiland
¶std::unique_ptr<PDBSymbol> getSymbolById(
llvm::pdb::SymIndexId SymbolId) const
std::unique_ptr<PDBSymbol> getSymbolById(
llvm::pdb::SymIndexId SymbolId) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:54
Parameters
- llvm::pdb::SymIndexId SymbolId
¶llvm::pdb::SymbolCache& getSymbolCache()
llvm::pdb::SymbolCache& getSymbolCache()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:113
¶const llvm::pdb::SymbolCache& getSymbolCache()
const
const llvm::pdb::SymbolCache& getSymbolCache()
const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:114
¶uint64_t getVAFromSectOffset(
uint32_t Section,
uint32_t Offset) const
uint64_t getVAFromSectOffset(
uint32_t Section,
uint32_t Offset) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:116
Parameters
- uint32_t Section
- uint32_t Offset
¶void initializeExeSymbol()
void initializeExeSymbol()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:123
¶bool moduleIndexForSectOffset(
uint32_t Sect,
uint32_t Offset,
uint16_t& ModuleIndex) const
bool moduleIndexForSectOffset(
uint32_t Sect,
uint32_t Offset,
uint16_t& ModuleIndex) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:118
Parameters
- uint32_t Sect
- uint32_t Offset
- uint16_t& ModuleIndex
¶bool moduleIndexForVA(uint64_t VA,
uint16_t& ModuleIndex) const
bool moduleIndexForVA(uint64_t VA,
uint16_t& ModuleIndex) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:117
Parameters
- uint64_t VA
- uint16_t& ModuleIndex
¶void parseSectionContribs()
void parseSectionContribs()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:124
¶static Expected<std::string> searchForPdb(
const llvm::pdb::NativeSession::
PdbSearchOptions& Opts)
static Expected<std::string> searchForPdb(
const llvm::pdb::NativeSession::
PdbSearchOptions& Opts)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:49
Parameters
- const llvm::pdb::NativeSession::PdbSearchOptions& Opts
¶bool setLoadAddress(uint64_t Address)
bool setLoadAddress(uint64_t Address)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:52
Parameters
- uint64_t Address
¶~NativeSession()
~NativeSession()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h:41