Why might the Visual Studio 2005 debugger fail to retrieve symbols for Windows 7 x64 from the Microsoft symbol server or my local cache?
I have just been issued with a Windows 7 (64 bit) machine at my code shop. We run Visual Studio 2005. I filled out the Tools|Options|Debugging|Symbols panel, pointing to the Microsoft Symbol Server and caching to C:\windows\symbols, and started a new instance of our app. There was a pause as the MS symbol server was contacted, then the EULA turned up and I accepted, but then no symbols loaded. This is a pretty big problem as much of what's going wrong in my department is down to memory management which requires the OS symbol开发者_运维百科s.
All the local symbols for the app loaded fine, as well as (apparently) MFC80U.i386.pdb. When I examined the Symbol Load Information for ntdll.dll this greeted me:
C:\Windows\System32\wntdll.pdb: Cannot find or open the PDB file.
C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\wntdll.pdb: Cannot find or open the PDB file.
C:\Windows\symbols\dll\wntdll.pdb: Cannot find or open the PDB file.
C:\Windows\dll\wntdll.pdb: Cannot find or open the PDB file.
C:\Windows\wntdll.pdb: Cannot find or open the PDB file.
I have also downloaded and installed the Windows 7 RTM symbol packages (to C:\Windows\Symbols), both x86 and x64 just to be sure. Still no luck. The x64 ntdll.pdb file lives in C:\Windows\Symbols\ntdll.pdb\CFF40300FD804691B73E12CF2A150EE02 and is NOT called wntdll.pdb as the Symbol Load Information seems to request.
Is it the case that Windows 7 symbols just don't like VS2005?
Try using another directory that you have complete control over, say C:\Symbols.
精彩评论