2010-05-20 124 views
8

我使用windbg(可从MSDN下载页面获得最新版本)。为什么不锁!为我工作?

我想在我的应用程序中调试死锁,并且!锁定会非常有用。然而,它不工作:

0:023> !locks NTSDEXTS: Unable to resolve ntdll!RTL_CRITICAL_SECTION_DEBUG type 
NTSDEXTS: Please check your symbols 

我不知道为什么它不高兴。我有正确加载符号:

0:023> .sympath 
Symbol search path is: srv* 
Expanded Symbol search path is: cache*c:\debuggers\sym;SRV*http://msdl.microsoft.com/download/symbols 

而且NTSD同意:

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. 

和栈看起来不错:

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 

任何帮助表示赞赏。

回答

7

Useful link

解决此问题的正确版本是6.12.2.633。它是DVD(.iso)根目录下“调试器”文件夹中WDK 7.1的一部分。

或者,抓住WDK 7.1 web installer并为Windows安装“正好”调试工具(尽管这似乎涉及与安装程序中的任何复选框不相符的一百多兆字节的无关材料)。


dlanod评论:

我还发现msdn-archives 它可以让你下载新版本的独立版。

而这个链接确实有效。 (比WDK安装程序好得多)

+2

我还发现http://archive.msdn.microsoft.com/debugtoolswindows/Release/ProjectReleases.aspx?ReleaseId=4912它可让您下载独立版本的新版本。 – dlanod 2012-01-13 04:04:19

+0

“档案馆已经退役。” – Iain 2015-04-29 15:54:09

+0

尝试:http://stackoverflow.com/questions/2736250/getting-windbg-without-the-whole-wdk – Iain 2015-04-29 15:54:43