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

Inherited from IMSFFile:

Methods

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

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:86

Parameters

uint16_t SN

llvm::BumpPtrAllocator& getAllocator()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:108

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

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:68

Parameters

uint32_t BlockIndex
uint32_t NumBytes

uint32_t getBlockMapIndex() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:57

uint64_t getBlockMapOffset() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:59

uint32_t getBlockSize() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:54

ArrayRef<support::ulittle32_t>
getDirectoryBlockArray() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:83

llvm::StringRef getFileDirectory() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:48

llvm::StringRef getFilePath() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:49

uint64_t getFileSize() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:66

msf::MSFStreamLayout getFpmStreamLayout() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:93

uint32_t getFreeBlockMapBlock() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:51

Expected<llvm::pdb::InjectedSourceStream&>
getInjectedSourceStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:106

uint32_t getMaxStreamSize() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:62

llvm::BinaryStreamRef getMsfBuffer() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:81

const msf::MSFLayout& getMsfLayout() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:80

uint32_t getNumDirectoryBlocks() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:58

uint32_t getNumDirectoryBytes() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:56

uint32_t getNumStreams() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:61

Expected<llvm::pdb::DbiStream&> getPDBDbiStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:99

Expected<llvm::pdb::GlobalsStream&>
getPDBGlobalsStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:100

Expected<llvm::pdb::InfoStream&>
getPDBInfoStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:98

Expected<llvm::pdb::TpiStream&> getPDBIpiStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:102

Expected<llvm::pdb::PublicsStream&>
getPDBPublicsStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:103

Expected<llvm::pdb::SymbolStream&>
getPDBSymbolStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:104

Expected<llvm::pdb::TpiStream&> getPDBTpiStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:101

uint32_t getPointerSize()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:120

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

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:63

Parameters

uint32_t StreamIndex

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

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:76

ArrayRef<support::ulittle32_t> getStreamSizes()
    const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:73

Expected<llvm::pdb::PDBStringTable&>
getStringTable()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:105

uint32_t getUnknown1() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:52

bool hasPDBDbiStream() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:110

bool hasPDBGlobalsStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:111

bool hasPDBInfoStream() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:112

bool hasPDBInjectedSourceStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:118

bool hasPDBIpiStream() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:113

bool hasPDBPublicsStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:114

bool hasPDBStringTable()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:117

bool hasPDBSymbolStream()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:115

bool hasPDBTpiStream() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:116

llvm::Error parseFileHeaders()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:95

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

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)

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

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:70

Parameters

uint32_t BlockIndex
uint32_t Offset
ArrayRef<uint8_t> Data

~PDBFile()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h:46