class PDBContext

Declaration

class PDBContext : public DIContext { /* full declaration omitted */ };

Description

PDBContext This data structure is the top level entity that deals with PDB debug information parsing. This data structure exists only when there is a need for a transparent interface to different debug information formats (e.g. PDB and DWARF). More control and power over the debug information access can be had by using the PDB interfaces directly.

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:32

Inherits from: DIContext

Member Variables

private std::unique_ptr<IPDBSession> Session

Method Overview

  • public PDBContext(const object::COFFObjectFile & Object, std::unique_ptr<IPDBSession> PDBSession)
  • public PDBContext(llvm::pdb::PDBContext &)
  • public static bool classof(const llvm::DIContext * DICtx)
  • public void dump(llvm::raw_ostream & OS, llvm::DIDumpOptions DIDumpOpts)
  • private std::string getFunctionName(uint64_t Address, llvm::DINameKind NameKind) const
  • public llvm::DIInliningInfo getInliningInfoForAddress(object::SectionedAddress Address, llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier())
  • public llvm::DILineInfo getLineInfoForAddress(object::SectionedAddress Address, llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier())
  • public llvm::DILineInfoTable getLineInfoForAddressRange(object::SectionedAddress Address, uint64_t Size, llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier())
  • public llvm::DILineInfo getLineInfoForDataAddress(object::SectionedAddress Address)
  • public std::vector<DILocal> getLocalsForAddress(object::SectionedAddress Address)

Inherited from DIContext:

Methods

PDBContext(
    const object::COFFObjectFile& Object,
    std::unique_ptr<IPDBSession> PDBSession)

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:34

Parameters

const object::COFFObjectFile& Object
std::unique_ptr<IPDBSession> PDBSession

PDBContext(llvm::pdb::PDBContext&)

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:36

Parameters

llvm::pdb::PDBContext&

static bool classof(const llvm::DIContext* DICtx)

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:39

Parameters

const llvm::DIContext* DICtx

void dump(llvm::raw_ostream& OS,
          llvm::DIDumpOptions DIDumpOpts)

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:43

Parameters

llvm::raw_ostream& OS
llvm::DIDumpOptions DIDumpOpts

std::string getFunctionName(
    uint64_t Address,
    llvm::DINameKind NameKind) const

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:61

Parameters

uint64_t Address
llvm::DINameKind NameKind

llvm::DIInliningInfo getInliningInfoForAddress(
    object::SectionedAddress Address,
    llvm::DILineInfoSpecifier Specifier =
        llvm::DILineInfoSpecifier())

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

Parameters

object::SectionedAddress Address
llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier()

llvm::DILineInfo getLineInfoForAddress(
    object::SectionedAddress Address,
    llvm::DILineInfoSpecifier Specifier =
        llvm::DILineInfoSpecifier())

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

Parameters

object::SectionedAddress Address
llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier()

llvm::DILineInfoTable getLineInfoForAddressRange(
    object::SectionedAddress Address,
    uint64_t Size,
    llvm::DILineInfoSpecifier Specifier =
        llvm::DILineInfoSpecifier())

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

Parameters

object::SectionedAddress Address
uint64_t Size
llvm::DILineInfoSpecifier Specifier = llvm::DILineInfoSpecifier()

llvm::DILineInfo getLineInfoForDataAddress(
    object::SectionedAddress Address)

Declared at: llvm/include/llvm/DebugInfo/PDB/PDBContext.h:49

Parameters

object::SectionedAddress Address

std::vector<DILocal> getLocalsForAddress(
    object::SectionedAddress Address)

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

Parameters

object::SectionedAddress Address