Why isn't !locks working for me?
debugging, locks, windbg
Solution
Useful link.
The correct version that fixes this is 6.12.2.633. It's part of WDK 7.1 in the "debuggers" folder in the root of the DVD (.iso).
Alternatively, grab the WDK 7.1 web installer and install "just" Debugging Tools for Windows (though that seems to involve a hundred odd megabytes of extraneous material that does not correspond with any of the checkboxes in the installer).
dlanod comments:
I also found msdn-archives which lets you download standalone versions of the new release.
And this link does in fact work. (Much better than the WDK installer)
Problem
I'm using windbg (the latest available from the MSDN download page). I'm trying to debug a deadlock in my app, and !locks would be very useful. However, it's not working: ``` 0:023> !locks NTSDEXTS: Unable to resolve ntdll!RTL_CRITICAL_SECTION_DEBUG type NTSDEXTS: Please check your symbols ``` I don't know why it's upset. I've got symbols properly loaded: ``` 0:023> .sympath Symbol search path is: srv* Expanded Symbol search path is: cache*c:\debuggers\sym;SRV*http://msdl.microsoft.com/download/symbols ``` And NTSD agrees: ``` 0:023> lmv m ntdll start end module name 777b0000 77930000 ntdll (pdb symbols) c:\debuggers\sym\wntdll.pdb\E9D10FA3EB884A23A5854E04FB7E2F0C2\wntdll.pdb Loaded symbol image file: C:\Windows\SysWOW64\ntdll.dll Image path: ntdll.dll Image name: ntdll.dll Timestamp: Mon Jul 13 18:11:23 2009 (4A5BDB3B) CheckSum: 00148A78 ImageSize: 00180000 File version: 6.1.7600.16385 Product version: 6.1.7600.16385 File flags: 0 (Mask 3F) File OS: 40004 NT Win32 File type: 2.0 Dll File date: 00000000.00000000 Translations: 0409.04b0 CompanyName: Microsoft Corporation ProductName: Microsoft® Windows® Operating System InternalName: ntdll.dll OriginalFilename: ntdll.dll ProductVersion: 6.1.7600.16385 FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255) FileDescription: NT Layer DLL LegalCopyright: © Microsoft Corporation. All rights reserved. ``` And the stack looks good: ``` 0:036> k ChildEBP RetAddr 1506fdd8 7784f546 ntdll!DbgBreakPoint 1506fe08 75bf3677 ntdll!DbgUiRemoteBreakin+0x3c 1506fe14 777e9d72 kernel32!BaseThreadInitThunk+0xe 1506fe54 777e9d45 ntdll!__RtlUserThreadStart+0x70 1506fe6c 00000000 ntdll!_RtlUserThreadStart+0x1b ``` Any help is appreciated.