2013-08-31 50 views
1

我熟悉WinDBG範例。使用WinDBG x64版本審查了很多轉儲文件。大部分轉儲文件是.NET 2.0應用程序和psscor2.dll。目前我使用的WinDBG版本是6.12.0002.633。最近,我一直在嘗試使用psscor4.dll打開從.NET 4.0應用程序池生成的x64轉儲IIS轉儲文件。任何命令我跑的回報, 「無法要求信息」 我從C mscordacwks.dll已經在WinDBG中讀取.NET 4.0轉儲文件

  1. :\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319服務器上
  2. 更名爲mscordackwks_AMD64_AMD64_4.0.30319 .xxxx.dll。 XXXX文件
  3. 打開的WinDBG在編譯的版本相匹配,打開轉儲文件和路徑添加到上面的DLL來exepath
  4. 運行基本的命令!eeversion檢查一切都很好,我也得到GC堆未初始化,所以GC模式尚未確定在垃圾收集計劃階段
  5. 接下來,我型!線程和獲得,無法要求ThreadStore
  6. 下一頁!線程池,我去,無法要求ThreadpoolMgr信息

我用這些錯誤信息做了一些基本的谷歌搜索,它們都指向沒有正確的mscordacwks.dll或在WinDBG x64或WinDBG x86中的x64文件中打開x86文件。沒聲音我有關

任何幫助/指導,非常感謝

+1

轉儲中CLR的確切版本是什麼? SOS命令是否有效? –

+0

4.0.30319.17929。沒有SOS命令給出相同的錯誤 – G33kKahuna

回答

2

內部版本號4.0.30319.17929是.NET 4.5內部版本號。 PSSCOR4不會調試4.5。您需要使用4.0 SOS和/或SOSEX,它適用於所有版本的.NET 2.0-4.5。

+0

謝謝史蒂夫。我想你是對的。我終於通過從服務器上下載CLR.dll獲得了sos的工作。現在,我可以運行SOS命令,但psscor4失敗 – G33kKahuna

+0

我有sosex4,我也不斷收到失敗。我喜歡索西的深度。你有工作嗎? .NET 4.5的任何特殊步驟? – G33kKahuna

+0

Sosex適用於.NET 4.5。如果你遇到問題,請在線下給我幫忙。 –

1

我在過去發現,有你需要有一個以調試.NET的正確版本的DLL 3。

sos.dll 的Mscorwks.dll mscordacwks.dll

這裏是如何我通常去獲得這些dll的http://sjbdeveloper.blogspot.com.au/,雖然聽起來好像你正在使用基於服務器的應用程序,這意味着你可能只是抓住他們從你的生產箱中,假設你有權訪問它,或者如果你沒有,可以選擇一個分段框。

+0

只是想指出,您的鏈接是用於.NET v2.0,並且您只需要2 mscorwks.dll和mscordacwks.dll但是,它似乎不同於v4.0,沒有mscorwks。 DLL。它被替換爲clr.dll。另外,sos.dll對於兩個版本都不是強制性的 – G33kKahuna