【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置
原文發表于百度空間,2009-01-08
==========================================================================
Windbg+Vmware驅動調試入門,寫給wakaka小童鞋,很強大的小童鞋,同時也做為自己的存檔~~
Windbg的設置
Windbg本身可以直接從微軟的網站上下載
下載地址:http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Windbg的設置其實主要是關于調試符號的設置,沒有符號你會很不爽,不能看到準確的函數名稱,會忽視掉許多細節,因此調試符號之于Windbg是非常重要的.
1.系統調試符號的設置
首先找個空間足夠的位置,XP sp2的調試符號完整一點大概需要1G的空間~~
比如我是在D盤,建立一個MyLocalSymbols文件夾,用來存放系統的符號文件.
然后你可以從微軟的網站上下載相應的調試符號包(大要180M~200M大小),要根據你虛擬機中的相應系統版本來下載,安裝到MyLocalSymbols文件夾下.
當然,不安裝符號包的話也可以設置成調試時自動從網上下載(即使你安裝了符號包,有部分內容還是要到網上下載),具體怎么設置稍后講.
不過我比較喜歡一次搞完,免得每次用的時候都要等它到網上下載比較慢~~
后記:微軟官方提供的符號包都是基于原始發布版系統的,后續因為不斷的打系統補丁,本地系統中實際的文件版本和這個符號包中的版本基本上完全不對應
所以,沒有必要再使用官方符號包的方式進行下載了
2.自己的調試符號的設置
再建一個文件夾,用于存放我們自己編譯出來的驅動的符號文件.單獨存放,不要跟系統的混到一起.
我這里就仍在D盤建立一個MySysSymbols文件夾,用于存放自己的符號文件.
然后給這個文件夾創建一個快捷方式,把它放到C:\Documents and Settings\你的用戶名\SendTo文件夾下.
這樣,以后編譯完驅動以后,直接在符號文件上右擊->發送到"MySysSymbols"就可以了,很方便~~
3.環境變量的設置
如果你想Windbg啟動時自動識別符號路徑的設置的話,我們就來建立一個環境變量
在"我的電腦"上右擊,"屬性"->"高級"->"環境變量",然后我們給當前用記新建一個名為_NT_SYMBOL_PATH的環境變量
值為 :
D:\MyLocalSymbols;D:\MySysSymbols;SRV*D:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
這樣設置以后,系統的調試符號就在D:\MyLocalSymbols下,而我們自己驅動的調試符號就在D:\MySysSymbols下
當符號文件不匹配時,Windbg會自動連網從http://msdl.microsoft.com/download/symbols下載符號文件到D:\MyLocalSymbols,下次再用到時就不用下載了
設置好保存就可以了,修改環境變量需要重新啟動系統才能生效~
到這里我再說一點,當你用了一段時間之后,常用的符號文件基本上就全有了,不想等,也可以用一些方法讓Windbg馬上下載符號文件
直接打一些正確的但是當前符號包中不正確或不匹配的符號名稱可以"刺激"Windbg馬上到網上下載,我為了節約時間就是這么干的.比如打dt nt!_KPCR,如果你的內核文件TimeDataStamp不匹配(內核等幾個核心文件由于更新經常會這樣)使得Windbg無法正確顯示此符號,它就會馬上乖乖地到網上把整個符號文件下載回來~~
在調試符號基本全了以后(調試時基本不再出現Windbg再連網下載符號文件的情況),建議把環境變量中聯網的部分去掉。以我的為例,就是設置成 D:\MyLocalSymbols;D:\MySysSymbols
這樣就斷了它連網下載的念想,否則你一旦打錯個符號,它還是會很負責地上網查找、下載,結果還是找不到,浪費很多時間~~
如果確實某個符號找不到需要臨時上網找,那么執行下面命令就可以了
.sympath+ SRV*D:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
這樣就重新恢復了Windbg上網下載符號的能力
轉載于:https://www.cnblogs.com/achillis/p/10181013.html
總結
以上是生活随笔為你收集整理的【旧文章搬运】Windbg+Vmware驱动调试入门(一)---Windbg的设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python第三天課程:int, boo
- 下一篇: 【Android开发】Android 删