class PDBFile
Declaration
class PDBFile : public IMSFFile { /* full declaration omitted */ };
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:40
Inherits from: IMSFFile
Member Variables
- private std::string FilePath
- private llvm::BumpPtrAllocator& Allocator
- private std::unique_ptr<BinaryStream> Buffer
- private msf::MSFLayout ContainerLayout
- private std::unique_ptr<GlobalsStream> Globals
- private std::unique_ptr<InfoStream> Info
- private std::unique_ptr<DbiStream> Dbi
- private std::unique_ptr<TpiStream> Tpi
- private std::unique_ptr<TpiStream> Ipi
- private std::unique_ptr<PublicsStream> Publics
- private std::unique_ptr<SymbolStream> Symbols
- private std::unique_ptr<msf::MappedBlockStream> DirectoryStream
- private std::unique_ptr<msf::MappedBlockStream> StringTableStream
- private std::unique_ptr<InjectedSourceStream> InjectedSources
- private std::unique_ptr<PDBStringTable> Strings
Method Overview
- public PDBFile(llvm::StringRef Path, std::unique_ptr<BinaryStream> PdbFileBuffer, llvm::BumpPtrAllocator & Allocator)
- public std::unique_ptr<msf::MappedBlockStream> createIndexedStream(uint16_t SN) const
- public llvm::BumpPtrAllocator & getAllocator()
- public uint32_t getBlockCount() const
- public Expected<ArrayRef<uint8_t>> getBlockData(uint32_t BlockIndex, uint32_t NumBytes) const
- public uint32_t getBlockMapIndex() const
- public uint64_t getBlockMapOffset() const
- public uint32_t getBlockSize() const
- public ArrayRef<support::ulittle32_t> getDirectoryBlockArray() const
- public llvm::StringRef getFileDirectory() const
- public llvm::StringRef getFilePath() const
- public uint64_t getFileSize() const
- public msf::MSFStreamLayout getFpmStreamLayout() const
- public uint32_t getFreeBlockMapBlock() const
- public Expected<llvm::pdb::InjectedSourceStream &> getInjectedSourceStream()
- public uint32_t getMaxStreamSize() const
- public llvm::BinaryStreamRef getMsfBuffer() const
- public const msf::MSFLayout & getMsfLayout() const
- public uint32_t getNumDirectoryBlocks() const
- public uint32_t getNumDirectoryBytes() const
- public uint32_t getNumStreams() const
- public Expected<llvm::pdb::DbiStream &> getPDBDbiStream()
- public Expected<llvm::pdb::GlobalsStream &> getPDBGlobalsStream()
- public Expected<llvm::pdb::InfoStream &> getPDBInfoStream()
- public Expected<llvm::pdb::TpiStream &> getPDBIpiStream()
- public Expected<llvm::pdb::PublicsStream &> getPDBPublicsStream()
- public Expected<llvm::pdb::SymbolStream &> getPDBSymbolStream()
- public Expected<llvm::pdb::TpiStream &> getPDBTpiStream()
- public uint32_t getPointerSize()
- public ArrayRef<support::ulittle32_t> getStreamBlockList(uint32_t StreamIndex) const
- public uint32_t getStreamByteSize(uint32_t StreamIndex) const
- public msf::MSFStreamLayout getStreamLayout(uint32_t StreamIdx) const
- public ArrayRef<ArrayRef<support::ulittle32_t>> getStreamMap() const
- public ArrayRef<support::ulittle32_t> getStreamSizes() const
- public Expected<llvm::pdb::PDBStringTable &> getStringTable()
- public uint32_t getUnknown1() const
- public bool hasPDBDbiStream() const
- public bool hasPDBGlobalsStream()
- public bool hasPDBInfoStream() const
- public bool hasPDBInjectedSourceStream()
- public bool hasPDBIpiStream() const
- public bool hasPDBPublicsStream()
- public bool hasPDBStringTable()
- public bool hasPDBSymbolStream()
- public bool hasPDBTpiStream() const
- public llvm::Error parseFileHeaders()
- public llvm::Error parseStreamData()
- public Expected<std::unique_ptr<msf::MappedBlockStream>> safelyCreateIndexedStream(uint32_t StreamIndex) const
- public Expected<std::unique_ptr<msf::MappedBlockStream>> safelyCreateNamedStream(llvm::StringRef Name)
- public llvm::Error setBlockData(uint32_t BlockIndex, uint32_t Offset, ArrayRef<uint8_t> Data) const
- public ~PDBFile()
Inherited from IMSFFile:
- public getBlockCount
- public getBlockData
- public getBlockSize
- public getNumStreams
- public getStreamBlockList
- public getStreamByteSize
- public setBlockData
Methods
¶PDBFile(
llvm::StringRef Path,
std::unique_ptr<BinaryStream> PdbFileBuffer,
llvm::BumpPtrAllocator& Allocator)
PDBFile(
llvm::StringRef Path,
std::unique_ptr<BinaryStream> PdbFileBuffer,
llvm::BumpPtrAllocator& Allocator)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:44
Parameters
- llvm::StringRef Path
- std::unique_ptr<BinaryStream> PdbFileBuffer
- llvm::BumpPtrAllocator& Allocator
¶std::unique_ptr<msf::MappedBlockStream>
createIndexedStream(uint16_t SN) const
std::unique_ptr<msf::MappedBlockStream>
createIndexedStream(uint16_t SN) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:86
Parameters
- uint16_t SN
¶llvm::BumpPtrAllocator& getAllocator()
llvm::BumpPtrAllocator& getAllocator()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:108
¶uint32_t getBlockCount() const
uint32_t getBlockCount() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:55
¶Expected<ArrayRef<uint8_t>> getBlockData(
uint32_t BlockIndex,
uint32_t NumBytes) const
Expected<ArrayRef<uint8_t>> getBlockData(
uint32_t BlockIndex,
uint32_t NumBytes) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:68
Parameters
- uint32_t BlockIndex
- uint32_t NumBytes
¶uint32_t getBlockMapIndex() const
uint32_t getBlockMapIndex() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:57
¶uint64_t getBlockMapOffset() const
uint64_t getBlockMapOffset() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:59
¶uint32_t getBlockSize() const
uint32_t getBlockSize() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:54
¶ArrayRef<support::ulittle32_t>
getDirectoryBlockArray() const
ArrayRef<support::ulittle32_t>
getDirectoryBlockArray() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:83
¶llvm::StringRef getFileDirectory() const
llvm::StringRef getFileDirectory() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:48
¶llvm::StringRef getFilePath() const
llvm::StringRef getFilePath() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:49
¶uint64_t getFileSize() const
uint64_t getFileSize() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:66
¶msf::MSFStreamLayout getFpmStreamLayout() const
msf::MSFStreamLayout getFpmStreamLayout() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:93
¶uint32_t getFreeBlockMapBlock() const
uint32_t getFreeBlockMapBlock() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:51
¶Expected<llvm::pdb::InjectedSourceStream&>
getInjectedSourceStream()
Expected<llvm::pdb::InjectedSourceStream&>
getInjectedSourceStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:106
¶uint32_t getMaxStreamSize() const
uint32_t getMaxStreamSize() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:62
¶llvm::BinaryStreamRef getMsfBuffer() const
llvm::BinaryStreamRef getMsfBuffer() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:81
¶const msf::MSFLayout& getMsfLayout() const
const msf::MSFLayout& getMsfLayout() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:80
¶uint32_t getNumDirectoryBlocks() const
uint32_t getNumDirectoryBlocks() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:58
¶uint32_t getNumDirectoryBytes() const
uint32_t getNumDirectoryBytes() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:56
¶uint32_t getNumStreams() const
uint32_t getNumStreams() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:61
¶Expected<llvm::pdb::DbiStream&> getPDBDbiStream()
Expected<llvm::pdb::DbiStream&> getPDBDbiStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:99
¶Expected<llvm::pdb::GlobalsStream&>
getPDBGlobalsStream()
Expected<llvm::pdb::GlobalsStream&>
getPDBGlobalsStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:100
¶Expected<llvm::pdb::InfoStream&>
getPDBInfoStream()
Expected<llvm::pdb::InfoStream&>
getPDBInfoStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:98
¶Expected<llvm::pdb::TpiStream&> getPDBIpiStream()
Expected<llvm::pdb::TpiStream&> getPDBIpiStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:102
¶Expected<llvm::pdb::PublicsStream&>
getPDBPublicsStream()
Expected<llvm::pdb::PublicsStream&>
getPDBPublicsStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:103
¶Expected<llvm::pdb::SymbolStream&>
getPDBSymbolStream()
Expected<llvm::pdb::SymbolStream&>
getPDBSymbolStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:104
¶Expected<llvm::pdb::TpiStream&> getPDBTpiStream()
Expected<llvm::pdb::TpiStream&> getPDBTpiStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:101
¶uint32_t getPointerSize()
uint32_t getPointerSize()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:120
¶ArrayRef<support::ulittle32_t> getStreamBlockList(
uint32_t StreamIndex) const
ArrayRef<support::ulittle32_t> getStreamBlockList(
uint32_t StreamIndex) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:65
Parameters
- uint32_t StreamIndex
¶uint32_t getStreamByteSize(
uint32_t StreamIndex) const
uint32_t getStreamByteSize(
uint32_t StreamIndex) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:63
Parameters
- uint32_t StreamIndex
¶msf::MSFStreamLayout getStreamLayout(
uint32_t StreamIdx) const
msf::MSFStreamLayout getStreamLayout(
uint32_t StreamIdx) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:92
Parameters
- uint32_t StreamIdx
¶ArrayRef<ArrayRef<support::ulittle32_t>>
getStreamMap() const
ArrayRef<ArrayRef<support::ulittle32_t>>
getStreamMap() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:76
¶ArrayRef<support::ulittle32_t> getStreamSizes()
const
ArrayRef<support::ulittle32_t> getStreamSizes()
const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:73
¶Expected<llvm::pdb::PDBStringTable&>
getStringTable()
Expected<llvm::pdb::PDBStringTable&>
getStringTable()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:105
¶uint32_t getUnknown1() const
uint32_t getUnknown1() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:52
¶bool hasPDBDbiStream() const
bool hasPDBDbiStream() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:110
¶bool hasPDBGlobalsStream()
bool hasPDBGlobalsStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:111
¶bool hasPDBInfoStream() const
bool hasPDBInfoStream() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:112
¶bool hasPDBInjectedSourceStream()
bool hasPDBInjectedSourceStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:118
¶bool hasPDBIpiStream() const
bool hasPDBIpiStream() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:113
¶bool hasPDBPublicsStream()
bool hasPDBPublicsStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:114
¶bool hasPDBStringTable()
bool hasPDBStringTable()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:117
¶bool hasPDBSymbolStream()
bool hasPDBSymbolStream()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:115
¶bool hasPDBTpiStream() const
bool hasPDBTpiStream() const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:116
¶llvm::Error parseFileHeaders()
llvm::Error parseFileHeaders()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:95
¶llvm::Error parseStreamData()
llvm::Error parseStreamData()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:96
¶Expected<std::unique_ptr<msf::MappedBlockStream>>
safelyCreateIndexedStream(
uint32_t StreamIndex) const
Expected<std::unique_ptr<msf::MappedBlockStream>>
safelyCreateIndexedStream(
uint32_t StreamIndex) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:88
Parameters
- uint32_t StreamIndex
¶Expected<std::unique_ptr<msf::MappedBlockStream>>
safelyCreateNamedStream(llvm::StringRef Name)
Expected<std::unique_ptr<msf::MappedBlockStream>>
safelyCreateNamedStream(llvm::StringRef Name)
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:90
Parameters
- llvm::StringRef Name
¶llvm::Error setBlockData(
uint32_t BlockIndex,
uint32_t Offset,
ArrayRef<uint8_t> Data) const
llvm::Error setBlockData(
uint32_t BlockIndex,
uint32_t Offset,
ArrayRef<uint8_t> Data) const
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:70
Parameters
- uint32_t BlockIndex
- uint32_t Offset
- ArrayRef<uint8_t> Data
¶~PDBFile()
~PDBFile()
Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:46