I'm trying to load symbols for a dll with IDA pro.

My _NT_SYMBOL_PATH is SRV*c:\symbols*http://msdl.microsoft.com/download/symbols .

I put DBGTOOLS = "C:\\Program Files (x86)\\Windows Kits\\8.1\\Debuggers\x86\\" in my ida.cfg

I modified IDA's symsrv.dll and symsrv.yes so as to put the one of the WinDbg folder instead.

The problem is that if I load my dll, I see no symbols and get this error message :

"PDB: could not process file D:\Dangerous\Share\Direct2D x86\d2d1.dll with DIA: No such interface supported"

There is no way to get symbols from the server. However, I load some symbols manually using the symbols that I can download on my msdnaa account. The problem is that I've got several different version of d2d1.dll. My symbols are for the dll present just after the OS installation. As I update my OS and then remove some specific update so as to diff dll that were changed, my symbols are not the correct one anymore.

What did I do wrong? How could I get the correct symbols for each version?

1 Answer 1


I finally solved my problem.

DIA stands for Debug Interface Access and is the component used to correctly read PDB files.

The msdia90.dll used doesn't seem to have been installed with the VS 2013 redistributables.

I had to install the 2008 redistributables to get the correct dll.

I solved my problem thanks to http://download.tuxfamily.org/overclokblog/PDB%20ain%27t%20PDD/0vercl0k_pdb_aint_pdd.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.