2013-12-18 35 views
12

当我在windbg(x64),版本6.3.9600.16384中加载崩溃转储并为.net加载sos扩展时,第一次运行!threads命令时出现此错误:第一次运行sos.threads时windbg异常

c0000005 Exception in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.threads debugger extension. 
     PC: 00007ffa`8fe6c7e3 VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 

后续时间命令运行正常。完整记录:

Loading Dump File [C:\Users\celdredge\AppData\Local\Temp\w3wp (2).DMP] 
User Mini Dump File with Full Memory: Only application data is available 


************* Symbol Path validation summary ************** 
Response       Time (ms)  Location 
Deferred          srv* 

************* Symbol Path validation summary ************** 
Response       Time (ms)  Location 
Deferred          srv* 
OK            c:\projects\dumps\symbols 
Symbol search path is: srv*;c:\projects\dumps\symbols 
Executable search path is: srv* 
Windows 8 Version 9600 MP (4 procs) Free x64 
Product: WinNt, suite: SingleUserTS 
Built by: 6.3.9600.16384 (winblue_rtm.130821-1623) 
Machine Name: 
Debug session time: Tue Dec 17 23:03:00.000 2013 (UTC - 5:00) 
System Uptime: 0 days 9:56:04.777 
Process Uptime: 0 days 0:01:41.000 
................................................................ 
................................................................ 
...................................................... 
ntdll!NtWaitForSingleObject+0xa: 
00007ffa`a1d265ba c3    ret 
0:000> .loadby sos clr 
0:000> !threads 
c0000005 Exception in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.threads debugger extension. 
     PC: 00007ffa`8fe6c7e3 VA: 00000000`00000000 R/W: 0 Parameter: 00000000`00000000 

CLR版本:

0:000> lm v mclr 
start    end     module name 
00007ffa`84450000 00007ffa`84de8000 clr  (pdb symbols)    C:\ProgramData\dbg\sym\clr.pdb\252574218A084BE3AFEFF8921ADADB6F2\clr.pdb 
    Loaded symbol image file: clr.dll 
    Image path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 
    Image name: clr.dll 
    Browse all global symbols functions data 
    Timestamp:  Tue Sep 10 02:54:48 2013 (522EC238) 
    CheckSum:   00994334 
    ImageSize:  00998000 
    File version:  4.0.30319.34003 
    Product version: 4.0.30319.34003 

SOS版本:

0:000> .chain 
Extension DLL search Path: 
    <snip/> 
Extension DLL chain: 
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll: image 4.0.30319.34003, API 1.0.0, built Tue Sep 10 02:44:16 2013 
     [path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll] 
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos: image 4.0.30319.34003, API 1.0.0, built Tue Sep 10 02:44:16 2013 
     [path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll] 
+0

我想知道为什么在.chain输出中有两个SOS条目。我试着用相同的WinDbg版本和CLR版本重复它,但只在输出中看到一个条目。 – Dono

回答

7

这似乎是造成储蓄明确的工作空间,它可以记住这些扩展被装载一个奇怪的问题。如果我.loadby sos clr并保存工作空间,下次打开工作空间时,它会将sos加载两次。但是,如果我做.load c:\path\to\sos.dll并保存工作区,它只会在我重新打开时加载一次。

总之,windbg中的工作区很混乱。