Windbg 32位版本和64位版本的選擇
用慣了Vsiual Studio的兄弟們可能會因為先入為主的原因以為所有的調(diào)試器都應該像它那樣,其實不然,當你安裝Debugging Tools for Windows的時候,你將發(fā)現(xiàn)有兩個系列的工具,一系列32位的工具和一系列64位的工具。這讓人覺得和費解,因為在我們安裝Microsoft Visual Studio的時候你根本不需要考慮32位還是64位。
如果你正使用windbg調(diào)試工具集(WinDbg, KD, CDB, or NTSD)中的一個,你必須得自己做出選擇。為了選擇合適的調(diào)試工具,你需要知道以下兩點:
1. 你的調(diào)試主機的處理器類型。
2. 你的調(diào)試主機運行的是32位版本的windows還是64位版本的。
PS:運行調(diào)試器的計算機我們成為調(diào)試主機,被調(diào)試的計算機我們稱為目標機。
調(diào)試主機運行32位版本的windows
如果你的調(diào)試主機運行的是32位版本的windows,使用32位的調(diào)試工具(不管此時被調(diào)試的目標機是 x86-based 還是 x64-based)。
x64-based調(diào)試主機運行64位的windows
如果你的調(diào)試主機使用x64-based的處理器,并且運行64位的windows,請參考如下規(guī)則:
如果你在分析dump文件,你可以使用32位或者64位的調(diào)試工具集。(不管dump文件是用戶態(tài)的還是內(nèi)核態(tài)的,也不管這個dump文件是在 x86-based 還是 x64-based的平臺上抓的。)
如果你在進行實時內(nèi)核調(diào)試,你可以使用32位或者64位的調(diào)試工具集(不管此時被調(diào)試的目標機是 x86-based 還是 x64-based)
如果你在進行實時用戶態(tài)調(diào)試,并且調(diào)試器也在同一臺機器上,對于64位的代碼和32位的 WOW64代碼都需要使用64位的調(diào)試工具集。使用 .effmach命令設置調(diào)試器的模式。
如果你在實時調(diào)試32位的用戶態(tài)代碼,但是這些代碼運行在一個單獨的目標機器上,使用32位的調(diào)試工具集。
總結(jié)
只有在實時用戶態(tài)調(diào)試,并且調(diào)試器也在同一臺64位機器上的情況下必須用64位的調(diào)試工具集!
原文鏈接:http://www.cnblogs.com/pugang/archive/2012/11/16/2772651.html
【編輯推薦】