我在嘗試使用windbg調試minidump文件時遇到了一個很奇怪的問題。 我已經在我自己的機器&上試過這個,在目標機器上運行windbg,從中獲取小型轉儲,但結果在兩種情況下都是相同的。Windbg希望不同版本的mscordacwks.dll
在開始時我加載瞭如下所示的所需dll,注意如果將sympath設置爲microsoft symbols server,則會發生同樣的問題。
0:000> .symfix C:\ SOS
0:000> .load C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ SOS
檢查鏈一切看起來不錯,所以我現在跑去跑!pe,並得到關於mscordacwks的錯誤,通常,據我所知,這表明我使用的是.net框架的錯誤版本。但是,當我在目標機器上運行時,實際情況不應該如此。
我再做一個詳細的裝載
.cordll -ve -u -l
,並得到以下錯誤消息
CLRDLL:C:\ WINDOWS \微軟.NET \ Framework \ v4.0.30319 \ mscordacwks.dll:4.0.30319.17929 f:8 與所需版本不匹配4.0.30319.296 f:8
我不明白的是爲什麼windbg正在尋找舊版本的mscordacwks?看起來,.296版本是從ms符號服務器下載的clr版本,但我明確告訴windbg要使用本地版本。
我試過了建議的方法here和here但沒有任何效果。任何幫助是極大的讚賞。
在安裝.NET 4.5之後,嘗試使用SOS調試.NET 4應用程序時,似乎有一些與您的問題類似的報告。見例如底部:http://epiwiki.se/tools/windbg/analyze-the-dump-file/failed-to-load-data-access-dll,-0x80004005和中間的:http://www.wintellect.com /cs/blogs/jrobbins/archive/2012/03/08/what-s-new-in-sos-for-net-4-5.aspx – Iridium 2013-03-06 17:30:44
這可以解釋爲最新版本的調試工具的第一件事for windows確實提示你安裝.net 4.5 – Johnv2020 2013-03-06 21:26:51
你正在使用哪個版本的調試工具? – lowleveldesign 2013-03-07 05:43:40