#include "ObjectFilePDB.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/PDB.h"
#include "llvm/Support/BinaryByteStream.h"
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacellvm::pdb;
usingnamespacellvm::codeview;
LLDB_PLUGIN_DEFINE(…)
static UUID GetPDBUUID(InfoStream &IS, DbiStream &DS) { … }
char ObjectFilePDB::ID;
void ObjectFilePDB::Initialize() { … }
void ObjectFilePDB::Terminate() { … }
ArchSpec ObjectFilePDB::GetArchitecture() { … }
bool ObjectFilePDB::initPDBFile() { … }
ObjectFile *
ObjectFilePDB::CreateInstance(const ModuleSP &module_sp, DataBufferSP data_sp,
offset_t data_offset, const FileSpec *file,
offset_t file_offset, offset_t length) { … }
ObjectFile *ObjectFilePDB::CreateMemoryInstance(const ModuleSP &module_sp,
WritableDataBufferSP data_sp,
const ProcessSP &process_sp,
addr_t header_addr) { … }
size_t ObjectFilePDB::GetModuleSpecifications(
const FileSpec &file, DataBufferSP &data_sp, offset_t data_offset,
offset_t file_offset, offset_t length, ModuleSpecList &specs) { … }
ObjectFilePDB::ObjectFilePDB(const ModuleSP &module_sp, DataBufferSP &data_sp,
offset_t data_offset, const FileSpec *file,
offset_t offset, offset_t length)
: … { … }
std::unique_ptr<PDBFile>
ObjectFilePDB::loadPDBFile(std::string PdbPath,
llvm::BumpPtrAllocator &Allocator) { … }