#include #include ">

LLVM: lib/DebugInfo/PDB/Native/NativeSession.cpp File Reference (original) (raw)

#include "[llvm/DebugInfo/PDB/Native/NativeSession.h](NativeSession%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallString.h](SmallString%5F8h%5Fsource.html)"
#include "[llvm/BinaryFormat/Magic.h](Magic%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/MSF/MappedBlockStream.h](MappedBlockStream%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/IPDBEnumChildren.h](IPDBEnumChildren%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/IPDBSourceFile.h](IPDBSourceFile%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h](DbiModuleDescriptor%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/DbiModuleList.h](DbiModuleList%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/DbiStream.h](DbiStream%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/ISectionContribVisitor.h](ISectionContribVisitor%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/ModuleDebugStream.h](ModuleDebugStream%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/NativeEnumInjectedSources.h](NativeEnumInjectedSources%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/NativeExeSymbol.h](NativeExeSymbol%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/PDBFile.h](PDBFile%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/RawConstants.h](RawConstants%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/RawError.h](RawError%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/RawTypes.h](RawTypes%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/Native/SymbolCache.h](SymbolCache%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/PDBSymbol.h](PDBSymbol%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/PDBSymbolCompiland.h](PDBSymbolCompiland%5F8h%5Fsource.html)"
#include "[llvm/DebugInfo/PDB/PDBSymbolExe.h](PDBSymbolExe%5F8h%5Fsource.html)"
#include "[llvm/Object/Binary.h](Binary%5F8h%5Fsource.html)"
#include "[llvm/Object/COFF.h](Object%5F2COFF%5F8h%5Fsource.html)"
#include "[llvm/Support/Allocator.h](Allocator%5F8h%5Fsource.html)"
#include "[llvm/Support/BinaryByteStream.h](BinaryByteStream%5F8h%5Fsource.html)"
#include "[llvm/Support/BinaryStreamArray.h](BinaryStreamArray%5F8h%5Fsource.html)"
#include "[llvm/Support/Error.h](llvm%5F2Support%5F2Error%5F8h%5Fsource.html)"
#include "[llvm/Support/ErrorOr.h](ErrorOr%5F8h%5Fsource.html)"
#include "[llvm/Support/MemoryBuffer.h](MemoryBuffer%5F8h%5Fsource.html)"
#include "[llvm/Support/Path.h](Path%5F8h%5Fsource.html)"
#include <cassert>
#include <memory>
#include <utility>

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::codeview
Functions
static DbiStream * getDbiStreamPtr (PDBFile &File)
static Error validatePdbMagic (StringRef PdbPath)
static Expected< std::unique_ptr< PDBFile > > loadPdbFile (StringRef PdbPath, std::unique_ptr< BumpPtrAllocator > &Allocator)
static Expected< std::string > getPdbPathFromExe (StringRef ExePath)

Function Documentation

getDbiStreamPtr()

DbiStream * getDbiStreamPtr ( PDBFile & File) static

Definition at line 55 of file NativeSession.cpp.

References llvm::consumeError(), llvm::Expected< T >::get(), and llvm::Expected< T >::takeError().

getPdbPathFromExe()

Expected< std::string > getPdbPathFromExe ( StringRef ExePath) static

Definition at line 141 of file NativeSession.cpp.

References llvm::object::createBinary(), llvm::dyn_cast(), E(), llvm::object::COFFObjectFile::getDebugPDBInfo(), llvm::pdb::invalid_format, llvm::make_error(), and llvm::Expected< T >::takeError().

Referenced by llvm::pdb::NativeSession::createFromExe(), and llvm::pdb::NativeSession::searchForPdb().

loadPdbFile()

Expected< std::unique_ptr< PDBFile > > loadPdbFile ( StringRef PdbPath, std::unique_ptr< BumpPtrAllocator > & Allocator ) static

Definition at line 104 of file NativeSession.cpp.

References Allocator, llvm::ErrorOr< T >::getError(), llvm::MemoryBuffer::getFile(), llvm::little, llvm::make_error(), and validatePdbMagic().

Referenced by llvm::pdb::NativeSession::createFromExe(), llvm::pdb::NativeSession::createFromPdbPath(), and llvm::pdb::NativeSession::searchForPdb().

validatePdbMagic()

Error validatePdbMagic ( StringRef PdbPath) static

Definition at line 90 of file NativeSession.cpp.

References llvm::identify_magic(), llvm::pdb::invalid_format, llvm::msf::Magic, llvm::make_error(), llvm::file_magic::pdb, and llvm::Error::success().

Referenced by llvm::pdb::NativeSession::createFromExe(), and loadPdbFile().