我最近收到來自客戶的64位故障轉儲。
我們的流程都是32位的,但客戶機運行的x64 Server 2008的調試在64位機器上捕獲的32位進程的轉儲
的Visual Studio(2008年和2010速成)告訴我,我必須使用的MSVSMON.EXE
的64位版本,這我不能,因爲我沒有64位機器。
我很確定有一種方法可以在WinDbg中做到這一點,但我發現WinDbg是敵對的。
有什麼辦法在32位機器上調試64位轉儲,最好是使用Visual Studio?
我最近收到來自客戶的64位故障轉儲。
我們的流程都是32位的,但客戶機運行的x64 Server 2008的調試在64位機器上捕獲的32位進程的轉儲
的Visual Studio(2008年和2010速成)告訴我,我必須使用的MSVSMON.EXE
的64位版本,這我不能,因爲我沒有64位機器。
我很確定有一種方法可以在WinDbg中做到這一點,但我發現WinDbg是敵對的。
有什麼辦法在32位機器上調試64位轉儲,最好是使用Visual Studio?
您需要確保客戶使用32位工具(adplus或DebugDiag)來捕獲32位進程的崩潰轉儲。然後你可以使用你的32位機器來調試轉儲。
雖然Isalamon的評論在技術上是正確,沒有人願意執行,由於堆棧跟蹤是可怕的。
讓你的客戶知道這是必要的,並希望他/她合作。
如果你不熟悉轉儲分析,微軟一直在你身邊,http://support.microsoft.com
我使用ProcDump,如鏈接的博客文章中所述。即使在VS2010中使用託管代碼,也可以發揮魅力。 – GregC 2011-08-16 22:01:05
是用戶轉儲還是內核轉儲?它看起來像你有系統轉儲。如果是這種情況,那麼你可以在windbg上獲得!wow64exts擴展的幫助,並且可能導致問題的根源。
我已經使用切換到x86的模式下使用的建議得到了優異的成績wow64exts.sw作爲建議在這裏!
http://blogs.msdn.com/b/ntdebugging/archive/2008/06/03/how-to-debug-wow64-applications.aspx
同樣的忠告人物在這裏:
和背景及相關命令在這裏:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384163(v=vs.85).aspx
希望這會成爲體面的投入就這個話題除了什麼在這個線程已經存在的彙編。謝謝。
我同意anwer你應該得到正確捕獲的dmp文件,但最近做了一些這種類型的錯誤捕獲的dmp文件的實驗。我用WinDbg修補SOS.dll來刪除拱形檢查。我不是100%確定,如果我得到的是有效的,但至少有一些它似乎是這樣... https://chentiangemalc.wordpress.com/2015/04/17/experimental-use-of-64-bit-dump-of-32-bit-net-process-in-windbg/
我通過使用32位任務管理器(C:\ Windows \ SysWOW64 \ Taskmgr.exe)來捕獲轉儲。
這不再是一個問題[來自VS 2013](http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/opening-64-bit-dumps-of-32-bit -processes-in-visual-studio-2013.aspx)。 – 2015-10-05 21:30:15