Hi all,
I have two questions about reading PDB file.
For `llvm::pdb::loadDataFromEXE(PDB_ReaderType Type, ...)`, there are two places calling this method,
1) We can see that the arguments of the two calls are both `PDB_ReaderType::DIA`,
that means the first IfStmt
in
`llvm::pdb::loadDataFromEXE(PDB_ReaderType Type, ...)` is temporarily useless. Is that right?
2) I have visual studio 2015 installed on my computer and there is no an environment
variable called
VSINSTALLDIR.
And the `LLVM_ENABLE_DIA_SDK` is 0, so every
time need to call
`llvm::pdb::loadDataFromEXE(PDB_ReaderType
Type, ...)`,
it
will trigger the "DIA is not installed on the system" error. I want to known is this kind of behavior correct?
-------------------------------------------------------------------------------------------------
Error llvm::pdb::loadDataForEXE(PDB_ReaderType Type, StringRef Path,
std::unique_ptr<IPDBSession> &Session) {
// Create the correct concrete instance type based on the value of Type.
if (Type == PDB_ReaderType::Native)
return NativeSession::createFromExe(Path, Session);
#if LLVM_ENABLE_DIA_SDK
return DIASession::createFromExe(Path, Session);
#else
return make_error<GenericError>("DIA is not installed on the system");
#endif
}
-------------------------------------------------------------------------------------------------
Henry Wong
Qihoo 360 Codesafe Team