LLVM 22.0.0git
llvm::pdb::PDBContext Class Reference

PDBContext This data structure is the top level entity that deals with PDB debug information parsing. More...

#include "llvm/DebugInfo/PDB/PDBContext.h"

Inheritance diagram for llvm::pdb::PDBContext:
[legend]

Public Member Functions

 PDBContext (const object::COFFObjectFile &Object, std::unique_ptr< IPDBSession > PDBSession)
 PDBContext (PDBContext &)=delete
PDBContextoperator= (PDBContext &)=delete
void dump (raw_ostream &OS, DIDumpOptions DIDumpOpts) override
std::optional< DILineInfogetLineInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
std::optional< DILineInfogetLineInfoForDataAddress (object::SectionedAddress Address) override
DILineInfoTable getLineInfoForAddressRange (object::SectionedAddress Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
DIInliningInfo getInliningInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
std::vector< DILocalgetLocalsForAddress (object::SectionedAddress Address) override
Public Member Functions inherited from llvm::DIContext
 DIContext (DIContextKind K)
virtual ~DIContext ()=default
DIContextKind getKind () const
virtual bool verify (raw_ostream &OS, DIDumpOptions DumpOpts={})

Static Public Member Functions

static bool classof (const DIContext *DICtx)

Additional Inherited Members

Public Types inherited from llvm::DIContext
enum  DIContextKind { CK_DWARF , CK_PDB , CK_BTF , CK_GSYM }

Detailed 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.

Definition at line 32 of file PDBContext.h.

Constructor & Destructor Documentation

◆ PDBContext() [1/2]

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

◆ PDBContext() [2/2]

llvm::pdb::PDBContext::PDBContext ( PDBContext & )
delete

References PDBContext().

Member Function Documentation

◆ classof()

bool llvm::pdb::PDBContext::classof ( const DIContext * DICtx)
inlinestatic

◆ dump()

void PDBContext::dump ( raw_ostream & OS,
DIDumpOptions DIDumpOpts )
overridevirtual

Implements llvm::DIContext.

Definition at line 33 of file PDBContext.cpp.

◆ getInliningInfoForAddress()

◆ getLineInfoForAddress()

◆ getLineInfoForAddressRange()

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

◆ getLineInfoForDataAddress()

std::optional< DILineInfo > PDBContext::getLineInfoForDataAddress ( object::SectionedAddress Address)
overridevirtual

Implements llvm::DIContext.

Definition at line 69 of file PDBContext.cpp.

References llvm::pdb::Address.

◆ getLocalsForAddress()

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

Implements llvm::DIContext.

Definition at line 142 of file PDBContext.cpp.

References llvm::pdb::Address.

◆ operator=()

PDBContext & llvm::pdb::PDBContext::operator= ( PDBContext & )
delete

References PDBContext().


The documentation for this class was generated from the following files: