我想弄清楚是什麼導致「.NET CLR異常#的例外拋出/秒」我正在按照 How to figure out cause of high number of exceptions中的說明。對於dumpheap命令mscorwks.dll錯誤
我能得到轉儲,但我得到的錯誤,而試圖執行WindDg
!dumpheap -stat -type Exception
無法找到運行時DLL(的Mscorwks.dll),0x80004005的
機器我拿着轉儲是一個Windows 2012R2 64位我拿了一個w3wp過程轉儲。我用procdump64.exe來轉儲。 對於符號包我在我的Windows 10桌面使用 Windows RT 8.1 ARM, Windows 8.1 and Windows Server 2012 R2
我正在運行的WinDbg
Microsoft (R) Windows Debugger Version 10.0.14321.1024 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\kumar\Desktop\w3wp.exe_161122_083122\w3wp.exe_161122_083122.dmp]
User Mini Dump File with Full Memory: Only application data is available
Comment: '
*** procdump64.exe 2348 -ma -s 5 -p "\.NET CLR Exceptions(w3wp)\# of Exceps Thrown/sec" 100
*** Counter "# of Exceps Thrown/sec" exceeded 100 for 5 seconds. Value: 220'
************* Symbol Path validation summary **************
Response Time (ms) Location
OK E:\Symbols
Symbol search path is: E:\Symbols
Executable search path is:
Windows 8.1 Version 9600 MP (2 procs) Free x64
Product: Server, suite: TerminalServer DataCenter SingleUserTS
Built by: 6.3.9600.17031 (winblue_gdr.140221-1952)
Machine Name:
Debug session time: Tue Nov 22 14:01:23.000 2016 (UTC + 5:30)
System Uptime: 13 days 23:42:27.204
Process Uptime: 0 days 16:40:05.000
................................................................
................................................................
................................................................
....................................................
Loading unloaded module list
.....................................
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for KERNELBASE.dll -
ntdll!ZwWaitForSingleObject+0xa:
00007ffe`f39206fa c3 ret
0:000> .load C:\Windows\Microsoft.NET\Framework\v2.0.50727\sos.dll
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v2.0.50727\sos.dll) failed, Win32 error 0n193
"%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.
0:000> .load C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos.dll
0:000> !dumpheap -stat -type Exception
Failed to find runtime DLL (mscorwks.dll), 0x80004005
Extension commands need mscorwks.dll in order to have something to do.
0:000> .loadby sos mscorwks
Unable to find module 'mscorwks'
0:000> .loadby sos clr
The call to LoadLibrary(D:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos) failed, Win32 error 0n126
"The specified module could not be found."
Please check your debugger configuration and/or network access.
這可能是Win10的結果,它不再安裝.NET運行庫的v2.0.50272版本。所以沒有sos.dll和mscorwks.dll。 6年來,很多狗生活在免費軟件中。使用控制面板>程序和功能>打開或關閉Windows功能>勾選「.NET Framework 3.5」複選框以安裝它。希望DAC版本是一個匹配,如果不是,那麼告訴你用戶保持他的機器更新。 –
@HansPassant:我會說轉儲包含.NET 4,因爲'.loadby sos clr'命令幾乎成功。所以這可能不是.NET 2的問題。 –