LLVM 22.0.0git
llvm::symbolize::LLVMSymbolizer Class Reference

#include "llvm/DebugInfo/Symbolize/Symbolize.h"

Classes

struct  Options

Public Member Functions

LLVM_ABI LLVMSymbolizer ()
LLVM_ABI LLVMSymbolizer (const Options &Opts)
LLVM_ABI ~LLVMSymbolizer ()
LLVM_ABI Expected< DILineInfosymbolizeCode (const ObjectFile &Obj, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DILineInfosymbolizeCode (StringRef ModuleName, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DILineInfosymbolizeCode (ArrayRef< uint8_t > BuildID, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIInliningInfosymbolizeInlinedCode (const ObjectFile &Obj, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIInliningInfosymbolizeInlinedCode (StringRef ModuleName, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIInliningInfosymbolizeInlinedCode (ArrayRef< uint8_t > BuildID, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIGlobalsymbolizeData (const ObjectFile &Obj, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIGlobalsymbolizeData (StringRef ModuleName, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< DIGlobalsymbolizeData (ArrayRef< uint8_t > BuildID, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< std::vector< DILocal > > symbolizeFrame (const ObjectFile &Obj, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< std::vector< DILocal > > symbolizeFrame (StringRef ModuleName, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< std::vector< DILocal > > symbolizeFrame (ArrayRef< uint8_t > BuildID, object::SectionedAddress ModuleOffset)
LLVM_ABI Expected< std::vector< DILineInfo > > findSymbol (const ObjectFile &Obj, StringRef Symbol, uint64_t Offset)
LLVM_ABI Expected< std::vector< DILineInfo > > findSymbol (StringRef ModuleName, StringRef Symbol, uint64_t Offset)
LLVM_ABI Expected< std::vector< DILineInfo > > findSymbol (ArrayRef< uint8_t > BuildID, StringRef Symbol, uint64_t Offset)
LLVM_ABI void flush ()
LLVM_ABI void pruneCache ()
void setBuildIDFetcher (std::unique_ptr< BuildIDFetcher > Fetcher)
LLVM_ABI Expected< SymbolizableModule * > getOrCreateModuleInfo (StringRef ModuleName)
 Returns a SymbolizableModule or an error if loading debug info failed.

Static Public Member Functions

static LLVM_ABI std::string DemangleName (StringRef Name, const SymbolizableModule *DbiModuleDescriptor)

Detailed Description

Definition at line 51 of file Symbolize.h.

Constructor & Destructor Documentation

◆ LLVMSymbolizer() [1/2]

llvm::symbolize::LLVMSymbolizer::LLVMSymbolizer ( )
default

References LLVM_ABI.

◆ LLVMSymbolizer() [2/2]

llvm::symbolize::LLVMSymbolizer::LLVMSymbolizer ( const Options & Opts)

Definition at line 47 of file Symbolize.cpp.

◆ ~LLVMSymbolizer()

llvm::symbolize::LLVMSymbolizer::~LLVMSymbolizer ( )
default

References LLVM_ABI, and llvm::Offset.

Member Function Documentation

◆ DemangleName()

◆ findSymbol() [1/3]

Expected< std::vector< DILineInfo > > llvm::symbolize::LLVMSymbolizer::findSymbol ( ArrayRef< uint8_t > BuildID,
StringRef Symbol,
uint64_t Offset )

Definition at line 282 of file Symbolize.cpp.

References llvm::Offset.

◆ findSymbol() [2/3]

Expected< std::vector< DILineInfo > > llvm::symbolize::LLVMSymbolizer::findSymbol ( const ObjectFile & Obj,
StringRef Symbol,
uint64_t Offset )

Definition at line 270 of file Symbolize.cpp.

References llvm::Offset.

◆ findSymbol() [3/3]

Expected< std::vector< DILineInfo > > llvm::symbolize::LLVMSymbolizer::findSymbol ( StringRef ModuleName,
StringRef Symbol,
uint64_t Offset )

Definition at line 276 of file Symbolize.cpp.

References llvm::Offset.

◆ flush()

void llvm::symbolize::LLVMSymbolizer::flush ( )

Definition at line 287 of file Symbolize.cpp.

◆ getOrCreateModuleInfo()

Expected< SymbolizableModule * > llvm::symbolize::LLVMSymbolizer::getOrCreateModuleInfo ( StringRef ModuleName)

Returns a SymbolizableModule or an error if loading debug info failed.

Only one attempt is made to load a module, and errors during loading are only reported once. Subsequent calls to get module info for a module that failed to load will return nullptr.

Definition at line 636 of file Symbolize.cpp.

References llvm::any_of(), llvm::DWARFContext::create(), llvm::createFileError(), llvm::dwarf_linker::DebugInfo, llvm::dyn_cast(), llvm::StringRef::empty(), I, llvm::gsym::GsymReader::openFile(), llvm::DWARFContext::Process, llvm::StringRef::str(), and llvm::Triple::UnknownArch.

◆ pruneCache()

void llvm::symbolize::LLVMSymbolizer::pruneCache ( )

Definition at line 834 of file Symbolize.cpp.

References llvm::Bin.

◆ setBuildIDFetcher()

void llvm::symbolize::LLVMSymbolizer::setBuildIDFetcher ( std::unique_ptr< BuildIDFetcher > Fetcher)
inline

Definition at line 130 of file Symbolize.h.

◆ symbolizeCode() [1/3]

Expected< DILineInfo > llvm::symbolize::LLVMSymbolizer::symbolizeCode ( ArrayRef< uint8_t > BuildID,
object::SectionedAddress ModuleOffset )

Definition at line 97 of file Symbolize.cpp.

◆ symbolizeCode() [2/3]

Expected< DILineInfo > llvm::symbolize::LLVMSymbolizer::symbolizeCode ( const ObjectFile & Obj,
object::SectionedAddress ModuleOffset )

Definition at line 85 of file Symbolize.cpp.

◆ symbolizeCode() [3/3]

Expected< DILineInfo > llvm::symbolize::LLVMSymbolizer::symbolizeCode ( StringRef ModuleName,
object::SectionedAddress ModuleOffset )

Definition at line 91 of file Symbolize.cpp.

◆ symbolizeData() [1/3]

Expected< DIGlobal > llvm::symbolize::LLVMSymbolizer::symbolizeData ( ArrayRef< uint8_t > BuildID,
object::SectionedAddress ModuleOffset )

Definition at line 193 of file Symbolize.cpp.

◆ symbolizeData() [2/3]

Expected< DIGlobal > llvm::symbolize::LLVMSymbolizer::symbolizeData ( const ObjectFile & Obj,
object::SectionedAddress ModuleOffset )

Definition at line 181 of file Symbolize.cpp.

◆ symbolizeData() [3/3]

Expected< DIGlobal > llvm::symbolize::LLVMSymbolizer::symbolizeData ( StringRef ModuleName,
object::SectionedAddress ModuleOffset )

Definition at line 187 of file Symbolize.cpp.

◆ symbolizeFrame() [1/3]

Expected< std::vector< DILocal > > llvm::symbolize::LLVMSymbolizer::symbolizeFrame ( ArrayRef< uint8_t > BuildID,
object::SectionedAddress ModuleOffset )

Definition at line 234 of file Symbolize.cpp.

◆ symbolizeFrame() [2/3]

Expected< std::vector< DILocal > > llvm::symbolize::LLVMSymbolizer::symbolizeFrame ( const ObjectFile & Obj,
object::SectionedAddress ModuleOffset )

Definition at line 222 of file Symbolize.cpp.

◆ symbolizeFrame() [3/3]

Expected< std::vector< DILocal > > llvm::symbolize::LLVMSymbolizer::symbolizeFrame ( StringRef ModuleName,
object::SectionedAddress ModuleOffset )

Definition at line 228 of file Symbolize.cpp.

◆ symbolizeInlinedCode() [1/3]

Expected< DIInliningInfo > llvm::symbolize::LLVMSymbolizer::symbolizeInlinedCode ( ArrayRef< uint8_t > BuildID,
object::SectionedAddress ModuleOffset )

Definition at line 148 of file Symbolize.cpp.

◆ symbolizeInlinedCode() [2/3]

Expected< DIInliningInfo > llvm::symbolize::LLVMSymbolizer::symbolizeInlinedCode ( const ObjectFile & Obj,
object::SectionedAddress ModuleOffset )

Definition at line 136 of file Symbolize.cpp.

◆ symbolizeInlinedCode() [3/3]

Expected< DIInliningInfo > llvm::symbolize::LLVMSymbolizer::symbolizeInlinedCode ( StringRef ModuleName,
object::SectionedAddress ModuleOffset )

Definition at line 142 of file Symbolize.cpp.


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