1

I am trying to use IDiaDataSource::LoadDataFromPdb from Debug Interface Access windows library (DIA) to read symbol files (*.pdb) from the local symbol store but I do not find something to set the path which above function would use to search for *.pdbs. Is it possible for LoadDataForPdb to read symbols files from local symbol store?

Local symbol store is created by using the tool SymStore.exe with the following command line arguments:

symstore.exe add /f *.pdb /s .\SymbolStore /t "X"

Local symbol store contains all the pdbs in a centralized place.

valiano
  • 16,433
  • 7
  • 64
  • 79
  • It is not clear what "local symbol store" might mean. There is no oracle that provides a symbol cache directory. The answer is probably in [this code](https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/dbi/locator.cpp). – Hans Passant Oct 31 '17 at 16:26
  • Thanks for reply but that link does not help since this question is specifically about windows DIA library. I have updated the question to reflect how local symbol store is created, please see above and please let me know if you have any knowledge of this. Thanks –  Oct 31 '17 at 19:25

1 Answers1

0

It seems you are looking for IDiaSession::findInjectedSource:

Retrieves a list of sources that has been placed into the symbol store by attribute providers or other components of the compilation process.

You can probably load a .pdb file directly from the symbol store using IDiaDataSource::loadDataFromPdb if you have the indexed .pdb path, but I guess the former is more suitable.

valiano
  • 16,433
  • 7
  • 64
  • 79