2009-08-27 163 views
1

我是WinDbg的新手,並從64位Windows 2008 Server上的WER ReportQueue文件夾獲得了此轉儲。 我需要檢查轉儲並希望在我已安裝Windows調試工具包的開發人員計算機上執行此操作。 當我嘗試加載SOS我得到了下面的錯誤,我以前從未見過:在WinDbg中丟失了32位機器上的64位轉儲

0:035> .loadby sos mscorwks 
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos) failed, Win32 error 126 
    "The specified module could not be found." 
Please check your debugger configuration and/or network access. 

我的機器在運行32位Windows 7,這顯然不具有Framework64文件夾。

我需要一些建議,指出我在正確的方向在這裏。如果我想在32位機器上檢查64位進程的轉儲,我需要做些什麼?是否有可能做到這一點?

非常感謝提前!

回答

12

如果要分析64位進程轉儲,則需要在64位計算機上運行64位版本的調試器。可以在32位和64位機器上分析來自32位進程的轉儲。因此,如果您確定轉儲來自64位進程,則需要在64位計算機上進行分析。

+0

Windbg對遠程調試有很大的支持,http://msdn.microsoft.com/en-us/library/ff554416(v=VS.85).aspx。將轉儲裝載到64位計算機上,然後將32位計算機用作客戶端。 – LanceSc 2011-09-12 23:00:43

3

問題不在於你可以從32位WinDbg中分析64位轉儲。從WinDbg幫助文件:

如果您正在分析轉儲文件,並且轉儲文件是在Windows XP或更高版本的Windows上創建的,則可以使用32位軟件包或x64軟件包。 (轉儲文件是用戶模式轉儲文件還是內核模式轉儲文件並不重要,轉儲文件是在基於x86或基於x64的平臺上生成並不重要。)

如果您正在分析轉儲文件,並且轉儲文件是在Windows 2000操作系統上創建的,則應使用32位軟件包。 (轉儲文件是用戶模式轉儲文件還是內核模式轉儲文件並不重要)

如果您正在執行實時內核模式調試,並且目標計算機正在運行Windows XP或更高版本Windows版本,您可以使用32位軟件包或x64軟件包。 (這種情況適用於基於x86和基於x64的目標。)

如果您正在執行實時內核模式調試,並且目標計算機正在運行Windows 2000,則應使用32位軟件包。

如果您正在執行實時用戶模式調試,請使用x64軟件包以64位和32位代碼調試WOW64。要調試其他目標,請使用32位調試器來調試32位代碼。

問題是什麼?在這裏,您試圖加載一個64位擴展來分析問題。無法在32位WinDbg上加載64位擴展。那麼問題是32位版本的SOS是否支持64位分析,您是否可以強制WinDbg使用32位SOS?

您可以強制SOS特定版本的使用

.load按http://msdn.microsoft.com/en-us/library/bb190764.aspx

加載但是我希望在32位版本將無法正常工作,分析一個64位的過程中,避風港這個雖然嘗試過。

相關問題