I'm following this post to set my IDA symbol path How to configure IDA to load .pdb files from Microsoft public symbol server?
I added a system variable called _NT_SYMBOL_PATH with value SRV*\C:\Symbols*http://msdl.microsoft.com/download/symbols My local directory c:\symbols has all the pdb files needed
and here is my pdb.cfg
// PDB plugin
// PDB information provider
#define PDB_PROVIDER_MSDIA 1 // use MSDIA local/remote provider
#define PDB_PROVIDER_PDBIDA 2 // use PDBIDA provider
//PDB_PROVIDER = PDB_PROVIDER_PDBIDA
// it is possible to specify the desired provider in the command line:
// ida -Opdb:off input_file
// ida -Opdb:msdia input_file
// ida -Opdb:pdbida input_file
// Symbol search path
// The _NT_SYMBOL_PATH environment variable overrides this setting.
// If none of these variables is set then the default value will be used:
// "SRV*CACHEDIR*http://msdl.microsoft.com/download/symbols"
// where
// CACHEDIR=%TEMP%\ida for Windows
// CACHEDIR=$TMPDIR/ida or $TMP/ida or /tmp/ida for non-Windows OSes
//
_NT_SYMBOL_PATH = "SRV*c:\\symbols*http://symbols.mozilla.org/firefox;SRV*c:\\symbols*http://msdl.microsoft.com/download/symbols";
// PDBIDA is able to load MSF 7.0 PDB files only.
// MSDIA can load all PDB files, including old MSF 2.0 files.
// If you set the following option to YES, IDA will automatically switch
// to MSDIA for old files.
// Please note that under Linux/macOS the MSDIA provider requires you to configure
// the win32_remote.exe server because it can run only on Windows.
// It is possible to specify the desired behavior in the command line:
// ida -Opdb:fallback input_file
// ida -Opdb:nofallback input_file
PDB_MSDIA_FALLBACK = NO
// remote server where win32_remote.exe is running
// used when loading PDB symbols on non-Windows platforms
// NB: it will be used only if there is not already an existing debugging session started
PDB_REMOTE_SERVER = "localhost";
PDB_REMOTE_PORT = 23946
// password for the remote server
PDB_REMOTE_PASSWD = "";
I restarted IDA The error message is
: failed to load pdb info.
And IDA is asking to specify which pdb file I want to load. However, I don't know which pdb file is responsible for the file(dns.exe) that I'm debugging.
Any ideas?
I loaded all the symbols finally. I type dns.exe in 'load pdb' file tab and IDA loaded automatically. I guess the debug directory is specified in the file. Some of function names are pretty weird. My question is can IDA load unmatched pdb files in this case or I'm good to go?