windebug

  問題一:WinDBG分X86和X64兩個版本

  如果你用的是32位的WinDBG,那直接打開就行;你如果用的是64位的版本,那麼如果調試64位代碼也直接打開,如果調試x86的代碼,要使用Wow64下的WinDBG.exe。

  問題二:確定SOS和CLR的位置和版本

  如果安裝了Visual Studio的機器,可以打開VS的命令行,輸入where sos.dll命令,可以找到sos.dll的全路徑(需要說明的是,找到的不一定是全部的文件)。它的一般位置在C:\Windows\Microsoft.NET\Framework?\version?\SOS.dll。其中Framework?包括Framework和Framework64兩個版本;version?包括v2.0.50727,v3.0,v3.5和v4.0.30319等版本。文件確切路徑的選擇依據要調試程序的版本而定,一般爲C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll,CLR爲同一目錄下的CLR.dll文件。

  問題三:加載SOS和CLR

  運氣好的話,使用命令.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll可以加載成功。如果失敗,特別是出現The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll) failed, Win32 error 0n193這樣的錯誤,請確認加載sos.dll的版本是否正確。

  此外,加載不出錯,並不見得可以直接使用。可以嘗試命令.loadby sos clr。如果命令成功,那麼測試環境好了。如果出現了“Unable to find module 'clr'”這樣的錯誤。請鍵入g讓調試程序運行一會兒,停下來的時候再嘗試命令.loadby sos clr,這時一般都會成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章