一句話總結Windbg 32位版本和64位版本的選擇
慣了Vsiual Studio的兄弟們可能會因為先入為主的原因以為所有的偵錯程式都應該像它那樣,其實不然,當你安裝Debugging Tools for
Windows的時候,你將發現有兩個系列的工具,一系列32位的工具和一系列64位的工具。這讓人覺得和費解,因為在我們安裝Microsoft Visual Studio的時候你根本不需要考慮32位還是64位。
如果你正使用windbg除錯工具集(WinDbg, KD, CDB, or NTSD)中的一個,你必須得自己做出選擇。為了選擇合適的除錯工具,你需要知道以下兩點:
1. 你的除錯主機的處理器型別。
2. 你的除錯主機執行的是32位版本的windows還是64位版本的。
PS:執行偵錯程式的計算機我們成為除錯主機,被除錯的計算機我們稱為目標機。
除錯主機執行32位版本的windows
如果你的除錯主機執行的是32位版本的windows,使用32位的除錯工具(不管此時被除錯的目標機是 x86-based 還是 x64-based)。
x64-based除錯主機執行64位的windows
如果你的除錯主機使用x64-based的處理器,並且執行64位的windows,請參考如下規則:
-
如果你在分析dump檔案,你可以使用32位或者64位的除錯工具集。(不管dump檔案是使用者態的還是核心態的,也不管這個dump檔案是在 x86-based 還是 x64-based的平臺上抓的。)
-
如果你在進行實時核心除錯,你可以使用32位或者64位的除錯工具集(不管此時被除錯的目標機是 x86-based 還是 x64-based)
-
如果你在進行實時使用者態除錯,並且偵錯程式也在同一臺機器上,對於64位的程式碼和32位的 WOW64程式碼都需要使用64位的除錯工具集。使用 .effmach命令設定偵錯程式的模式。
-
如果你在實時除錯32位的使用者態程式碼,但是這些程式碼執行在一個單獨的目標機器上,使用32位的除錯工具集。
-
-
總結
只有在實時使用者態除錯,並且偵錯程式也在同一臺64位機器上的情況下必須用64位的除錯工具集!
相關文章
- 如何選擇jquery版本jQuery
- Mysql學習版本的選擇MySql
- 怎樣選擇PHP的版本PHP
- windows7的版本選擇Windows
- 一句話總結原型鏈原型
- 一句話經驗總結
- cassandra升級版本選擇
- 如何選擇版本控制系統——為什麼選擇Git版本控制系統Git
- Kaldi關於Openfst版本的選擇NFS
- 選擇最穩定的MySQL版本MySql
- 一句話總結隨機森林隨機森林
- 一句話總結JS的設計模式JS設計模式
- yarn or npm 版本固化如何選擇YarnNPM
- JQuery版本選擇與下載jQuery
- ImmortalWrt-OpenWrt各版本選擇
- SUSE和Ubuntu,Linux版本該選擇哪個?UbuntuLinux
- 影響rest api版本選擇的因素RESTAPI
- 一句話總結LLE(流形學習)
- springboot最新穩定版本、springcloud對應版本的選擇Spring BootGCCloud
- 一句話總結人工神經網路神經網路
- 一句話總結K均值演算法演算法
- hadoop商業版本選擇對比Hadoop
- 新手上路之如何選擇Java版本Java
- SOLIDWORKS Simulation有哪些版本?如何選擇?Solid
- Windows下Wireshark安裝版本選擇方式Windows
- 管理 node 版本,選擇 nvm 還是 n?
- OpenStack版本選擇及yum源準備
- spectre模擬支援fsdb格式版本選擇
- YourSQLDba版本升級總結SQL
- 講解SQL Server的版本區別及選擇SQLServer
- 詳解SQL Server的版本區別及選擇SQLServer
- 一句話總結卷積神經網路卷積神經網路
- 一句話總結三十條認知偏見
- Linux伺服器選擇哪個版本好?常用版本推薦Linux伺服器
- CSS選擇符總結CSS
- jQuery選擇器總結jQuery
- css選擇器總結CSS
- 如何根據生產環境mysql版本選擇合適的percona xtrabackup版本MySql