LLDB mainline
PdbUtil.cpp File Reference
#include "PdbUtil.h"
#include "DWARFLocationExpression.h"
#include "PdbIndex.h"
#include "PdbSymUid.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
#include "Plugins/SymbolFile/NativePDB/CodeViewRegisterMapping.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/lldb-enumerations.h"

Go to the source code of this file.

Functions

static Variable::RangeList MakeRangeList (const PdbIndex &index, const LocalVariableAddrRange &range, llvm::ArrayRef< LocalVariableAddrGap > gaps)
template<typename RecordT>
RecordT createRecord (const CVSymbol &sym)
template<typename RecordT>
static SegmentOffset GetSegmentAndOffset (const CVSymbol &sym)
template<>
SegmentOffset GetSegmentAndOffset< TrampolineSym > (const CVSymbol &sym)
template<>
SegmentOffset GetSegmentAndOffset< Thunk32Sym > (const CVSymbol &sym)
template<>
SegmentOffset GetSegmentAndOffset< CoffGroupSym > (const CVSymbol &sym)
template<>
SegmentOffset GetSegmentAndOffset< DataSym > (const CVSymbol &sym)
template<>
SegmentOffset GetSegmentAndOffset< ThreadLocalDataSym > (const CVSymbol &sym)
template<typename RecordT>
SegmentOffsetLength GetSegmentOffsetAndLength (const CVSymbol &sym)
template<>
SegmentOffsetLength GetSegmentOffsetAndLength< TrampolineSym > (const CVSymbol &sym)
template<>
SegmentOffsetLength GetSegmentOffsetAndLength< Thunk32Sym > (const CVSymbol &sym)
template<>
SegmentOffsetLength GetSegmentOffsetAndLength< CoffGroupSym > (const CVSymbol &sym)
static llvm::FixedStreamArray< FrameData >::Iterator GetCorrespondingFrameData (lldb::addr_t load_addr, const DebugFrameDataSubsectionRef &fpo_data, const Variable::RangeList &ranges)
static bool GetFrameDataProgram (PdbIndex &index, const Variable::RangeList &ranges, llvm::StringRef &out_program)
static RegisterId GetBaseFrameRegister (PdbIndex &index, PdbCompilandSymId frame_proc_id, bool is_parameter)
template<typename RecordType>
static size_t GetSizeOfTypeInternal (CVType cvt)

Function Documentation

◆ createRecord()

◆ GetBaseFrameRegister()

◆ GetCorrespondingFrameData()

llvm::FixedStreamArray< FrameData >::Iterator GetCorrespondingFrameData ( lldb::addr_t load_addr,
const DebugFrameDataSubsectionRef & fpo_data,
const Variable::RangeList & ranges )
static

◆ GetFrameDataProgram()

bool GetFrameDataProgram ( PdbIndex & index,
const Variable::RangeList & ranges,
llvm::StringRef & out_program )
static

◆ GetSegmentAndOffset()

template<typename RecordT>
SegmentOffset GetSegmentAndOffset ( const CVSymbol & sym)
static

Definition at line 363 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentAndOffset< CoffGroupSym >()

template<>
SegmentOffset GetSegmentAndOffset< CoffGroupSym > ( const CVSymbol & sym)

Definition at line 380 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentAndOffset< DataSym >()

template<>
SegmentOffset GetSegmentAndOffset< DataSym > ( const CVSymbol & sym)

Definition at line 385 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentAndOffset< ThreadLocalDataSym >()

template<>
SegmentOffset GetSegmentAndOffset< ThreadLocalDataSym > ( const CVSymbol & sym)

Definition at line 391 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentAndOffset< Thunk32Sym >()

template<>
SegmentOffset GetSegmentAndOffset< Thunk32Sym > ( const CVSymbol & sym)

Definition at line 374 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentAndOffset< TrampolineSym >()

template<>
SegmentOffset GetSegmentAndOffset< TrampolineSym > ( const CVSymbol & sym)

Definition at line 369 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentOffsetAndLength()

template<typename RecordT>
SegmentOffsetLength GetSegmentOffsetAndLength ( const CVSymbol & sym)

Definition at line 443 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentOffsetAndLength< CoffGroupSym >()

template<>
SegmentOffsetLength GetSegmentOffsetAndLength< CoffGroupSym > ( const CVSymbol & sym)

Definition at line 462 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentOffsetAndLength< Thunk32Sym >()

template<>
SegmentOffsetLength GetSegmentOffsetAndLength< Thunk32Sym > ( const CVSymbol & sym)

Definition at line 456 of file PdbUtil.cpp.

References createRecord().

◆ GetSegmentOffsetAndLength< TrampolineSym >()

template<>
SegmentOffsetLength GetSegmentOffsetAndLength< TrampolineSym > ( const CVSymbol & sym)

Definition at line 449 of file PdbUtil.cpp.

References createRecord().

◆ GetSizeOfTypeInternal()

template<typename RecordType>
size_t GetSizeOfTypeInternal ( CVType cvt)
static

Definition at line 1063 of file PdbUtil.cpp.

Referenced by lldb_private::npdb::GetSizeOfType().

◆ MakeRangeList()

Variable::RangeList MakeRangeList ( const PdbIndex & index,
const LocalVariableAddrRange & range,
llvm::ArrayRef< LocalVariableAddrGap > gaps )
static