2013-12-18 5 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의 작업 영역은 혼란 스럽습니다.

관련 문제