class ModuleSymbolsImpl

Defined at line 47 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.h

Represents the symbol interface for a module (executable or shared library). See ModuleSymbols.

This provides a high-level interface on top of the DwarfBinary file (low-level stuff), the Index,

and the SymbolFactory. When using "Debug Fission" symbols, it manages multiple DwarfBinary

objects for each .dwo file.

Public Methods

DwarfBinaryImpl * binary ()

Defined at line 56 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.h

std::string GetBuildDirForSymbolFactory ()

DwarfSymbolFactory::Delegate implementation.

This implementation is for the DwarfBinary of the main binary's symbol file. If there are

referenced .dwo files, those will be implemented by DwoInfo.

Defined at line 84 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.h

fxl::WeakPtr<ModuleSymbols> GetModuleSymbols ()

Defined at line 85 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.h

CompileUnit * GetSkeletonCompileUnit ()

Defined at line 86 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.h

Err Load (bool create_index)

Must be called and after the constructor.

If create_index is true, an index will be created for fast symbol lookup.

Normal callers will always want to create the index, unless you don't need to query a symbol

from its name, e.g., in some test scenarios or in symbolizer.

Defined at line 165 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

fxl::WeakPtr<ModuleSymbolsImpl> GetWeakPtr ()

Defined at line 161 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

ModuleSymbolStatus GetStatus ()

ModuleSymbols implementation.

Defined at line 179 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::time_t GetModificationTime ()

Defined at line 190 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::string GetBuildDir ()

Defined at line 194 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

uint64_t GetMappedLength ()

Defined at line 196 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

const SymbolFactory * GetSymbolFactory ()

Defined at line 198 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::vector<Location> ResolveInputLocation (const SymbolContext & symbol_context, const InputLocation & input_location, const ResolveOptions & options)

Defined at line 202 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

FoundUnit GetDwarfUnitForAddress (const SymbolContext & symbol_context, uint64_t absolute_address)

Defined at line 220 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

LineDetails LineDetailsForAddress (const SymbolContext & symbol_context, uint64_t absolute_address, bool greedy)

Defined at line 263 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::vector<std::string> FindFileMatches (std::string_view name)

Defined at line 343 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::vector<fxl::RefPtr<Function>> GetMainFunctions ()

Defined at line 352 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

const Index & GetIndex ()

Defined at line 363 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

LazySymbol IndexSymbolRefToSymbol (const IndexNode::SymbolRef & )

Defined at line 365 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

bool HasBinary ()

Defined at line 389 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

std::optional<uint64_t> GetDebugAddrEntry (uint64_t addr_base, uint64_t index)

Defined at line 391 of file ../../src/developer/debug/zxdb/symbols/module_symbols_impl.cc

Friends

class ModuleSymbols_ResolveMainFunction_Test
class ModuleSymbols_IndexFission_Test
class RefCountedThreadSafe
class MakeRefCountedHelper