LLDB  mainline
Functions
PdbUtil.cpp File Reference
#include "PdbUtil.h"
#include "DWARFLocationExpression.h"
#include "PdbIndex.h"
#include "PdbSymUid.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 "lldb/Symbol/Block.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/lldb-enumerations.h"
Include dependency graph for PdbUtil.cpp:

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()

template<typename RecordT >
RecordT createRecord ( const CVSymbol &  sym)

Definition at line 209 of file PdbUtil.cpp.

◆ GetBaseFrameRegister()

static RegisterId GetBaseFrameRegister ( PdbIndex index,
PdbCompilandSymId  frame_proc_id,
bool  is_parameter 
)
static

◆ GetCorrespondingFrameData()

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

◆ GetFrameDataProgram()

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

◆ GetSegmentAndOffset()

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

Definition at line 216 of file PdbUtil.cpp.

◆ GetSegmentAndOffset< CoffGroupSym >()

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

Definition at line 233 of file PdbUtil.cpp.

Referenced by GetSegmentAndOffset< ThreadLocalDataSym >().

◆ GetSegmentAndOffset< DataSym >()

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

Definition at line 238 of file PdbUtil.cpp.

Referenced by GetSegmentAndOffset< ThreadLocalDataSym >().

◆ GetSegmentAndOffset< ThreadLocalDataSym >()

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

◆ GetSegmentAndOffset< Thunk32Sym >()

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

Definition at line 227 of file PdbUtil.cpp.

Referenced by GetSegmentAndOffset< ThreadLocalDataSym >().

◆ GetSegmentAndOffset< TrampolineSym >()

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

Definition at line 222 of file PdbUtil.cpp.

Referenced by GetSegmentAndOffset< ThreadLocalDataSym >().

◆ GetSegmentOffsetAndLength()

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

Definition at line 296 of file PdbUtil.cpp.

◆ GetSegmentOffsetAndLength< CoffGroupSym >()

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

◆ GetSegmentOffsetAndLength< Thunk32Sym >()

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

Definition at line 309 of file PdbUtil.cpp.

Referenced by GetSegmentOffsetAndLength< CoffGroupSym >().

◆ GetSegmentOffsetAndLength< TrampolineSym >()

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

Definition at line 303 of file PdbUtil.cpp.

Referenced by GetSegmentOffsetAndLength< CoffGroupSym >().

◆ GetSizeOfTypeInternal()

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

Definition at line 825 of file PdbUtil.cpp.

◆ MakeRangeList()

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