Reputation: 4736
I downloaded the x86 symbols from Microsoft (and installed it) - I then added the sympath of
.symfix C:\Temp\Symbols\X86
I then do a check on this: - why is it adding a URL when I did not specify?
1: kd> .sympath
Symbol search path is: srv*
Expanded Symbol search path is: SRV*C:\Temp\Symbols\X86*http://msdl.microsoft.com/download/symbols
This is where my symbols are - however when I open a crash dump I am still getting error not symbols found.
The problem is I do not have internet access on my machine so I do not want it to go out and search for symbols when it cannot.
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrpamp.exe -
Loading Kernel Symbols
...............................................................
................................................................
..
Loading User Symbols
PEB is paged out (Peb.Ldr = 7ffd900c). Type ".hh dbgerr001" for details
Loading unloaded module list
.....................................
************* Symbol Loading Error Summary **************
Module name Error
ntkrpamp The system cannot find the file specified
You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.
You should also verify that your symbol search path (.sympath) is correct.
Upvotes: 0
Views: 20668
Reputation: 20163
It's doing that because that's what the .symfix
command is supposed to do. Documentation
The command you should be running to add a local directory to your symbol path is:
.sympath+ C:\Temp\Symbols\X86
Upvotes: 2
Reputation: 23747
The .symfix
command always inserts the Microsoft public symbol store into your path; that's why it's called "fix". From the documentation:
The .symfix command automatically sets the symbol path to point to the Microsoft symbol store.
Your command was setting the symbol path to use the Microsoft server and then cache any symbols it pulled from it into C:\Temp\Symbols\X86
.
Instead, you just need to set the symbol path explicitly to be where you downloaded the symbols:
.sympath C:\Temp\Symbols\X86
Then reload symbols with .reload /f /d /v
and look for any that could not be loaded. Successfully loaded modules will look like this:
AddImage: C:\Windows\system32\OLEAUT32.dll
DllBase = 000007fe`ff2d0000
Size = 000d7000
Checksum = 000e0140
TimeDateStamp = 4e587ee8
While libraries missing symbol files will appear like this:
AddImage: C:\Windows\system32\OLEAUT32.dll
DllBase = 000007fe`ff2d0000
Size = 000d7000
Checksum = 000e0140
TimeDateStamp = 4e587ee8
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\system32\OLEAUT32.dll -
I'd encourage you to read more about symbol path syntax as it can be difficult to understand at first.
Upvotes: 4