How to check if the Microsoft symbol server is ava

2019-07-25 16:35发布

问题:

When I use WinDbg command .reload /f /v ntdll.dll to download symbol from microsoft symbol server the request always fails as below:

AddImage: C:\Windows\System32\ntdll.dll  DllBase  = 00007ffc`27850000 
Size     = 001ce000  Checksum = 001ca321  TimeDateStamp = 57dcb78c
SYMSRV:  BYINDEX: 0x10D
         d:\symbols*http://msdl.microsoft.com/download/symbols
         ntdll.pdb
         70F83B45D56645FD962606D8D09AF5971 SYMSRV:  d:\symbols\ntdll.pdb\70F83B45D56645FD962606D8D09AF5971\ntdll.pdb -
file not found SYMSRV:  HTTPGET:
/download/symbols/ntdll.pdb/70F83B45D56645FD962606D8D09AF5971/ntdll.pdb
SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND SYMSRV:  HTTPGET:
/download/symbols/ntdll.pdb/70F83B45D56645FD962606D8D09AF5971/ntdll.pd_

SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND SYMSRV:  HTTPGET:
/download/symbols/ntdll.pdb/70F83B45D56645FD962606D8D09AF5971/file.ptr
SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND SYMSRV: 
d:\symbols\ntdll.pdb\70F83B45D56645FD962606D8D09AF5971\ntdll.pdb not
found SYMSRV: 
....symbols/ntdll.pdb/70F83B45D56645FD962606D8D09AF5971/ntdll.pdb not
found SYMSRV:  BYINDEX: 0x10E
         d:\symcache
         ntdll.pdb
         70F83B45D56645FD962606D8D09AF5971 SYMSRV:  d:\symcache\ntdll.pdb\70F83B45D56645FD962606D8D09AF5971\ntdll.pdb -
file not found SYMSRV: 
d:\symcache\ntdll.pdb\70F83B45D56645FD962606D8D09AF5971\ntdll.pdb not
found DBGHELP: ntdll.pdb - file not found
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -  DBGHELP: ntdll - export symbols

 ************* Symbol Loading Error Summary ************** 
Module name            Error 
ntdll                  The system cannot find the file specified
: srv*d:\symbols*http://msdl.microsoft.com/download/symbols
                The SYMSRV client failed to find a file in the UNC store, or there
                is an invalid UNC store (an invalid path or the pingme.txt file is
                not present in the root directory), or the file is present in the
                symbol server exclusion list.

                        PDB not found : cache*d:\symcache
                Unable to locate the .pdb file in this location

How to find out if the Microsoft symbol server is available? And if it's not available, how to contact them?

回答1:

As you can see, the server itself is available. It's responding with a HTTP 404 code.

You can check the availability by visiting the root page or the pingme.txt file on Microsoft's server. For the latter, note that you won't see anything in the browser, because it's a 0 byte file.

If symbols are not found, the server is slow or even not responding, I see the wish of contacting Microsoft. However, I never stumbled upon an official email address for that. There are people lurking around who have direct contact to Microsoft, e.g. Sasha Goldshtein, Brian Rasmussen, Steve Johnson and others. These will notice an outage and inform Microsoft if needed.

If there were an official address, I guess the responsible people were flooded with false positives, so I can totally understand that such information is not publically available. I also expect that Microsoft employees are using the symbol server themselves, so they'll probably notice that before you could report it.



回答2:

The official email address for reporting missing symbols is windbgfb@microsoft.com, on this page. Symbols for newly patched files are usually available within 1 week after each Patch Tuesday, so you may want to wait a few days before contacting them if the files are recently updated.

By the way, you should use https://msdl.microsoft.com/download/symbols. [1]

[1] https://docs.microsoft.com/en-us/windows/desktop/DxTechArts/debugging-with-symbols#using-the-microsoft-symbol-server



标签: windbg