I’m attempting to debug a problem with a .NET service starting up. I’m following the tip here, but I’m having trouble getting symbols. This particularly causes a problem with debugging .NET exceptions, because WinDbg refuses to download the correct mscordawks.dll.
The error I’m getting is: WARNING: Network path disallowed: 'SRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols'
Either it’s doing this because I’m debugging something in session 0, or because I’m running WinDbg elevated. How do I resolve this issue?
I’m not clear exactly what you’re doing to trigger that error message. I’ll assume it’s a .sympath command or similar.
Check the output of .netsyms
It’s undocumented in the help file, but I spotted it in this blog entry and it seems to work. Maybe it defaults to off under certain security settings. Pure guesswork I’m afraid, but so simple to try that I thought I’d suggest it. It may be that the security context you are using forces .netsyms to be 0. John’s trick will then be able to get you symbols from the network which you can use without needing a network symbol path.
Windbg should use the mscordacwks.dll that is part of your .NET installation – you are debugging on the machine that is running the service and therefore windbg has the same .NET installation available to it as your service. There should be no need for windbg to hunt for it anywhere else. Hopefully all that is actually needed is your symbol path to be set “correctly”, rather than real problems finding mscordacwks.dll. We can look at that later if it’s needed.
Check the current status like this:
Turning it off produces something similar to your error message:
Turning it on again allows network symbol search paths: