VirtualKD+Windbg+vmware 極速調試+Windbg下載符號+windows 7本地核心調試

來源:互聯網
上載者:User

================================Windbg下載符號===================================
打了補丁後經常出現"Your debugger is not using the correct symbols",

使用WINDBG命令下載更新符號檔案即可,以下命令不能去掉“.”,打完命令就開始下載了 流量監控可以看到


1: .sympath srv*G:\WinDDK\7600.16385.1\Debuggers\Symbols*http://msdl.microsoft.com/download/symbols

2: !sym noisy

3: .reload
完成下載後
 lkd>.reloadConnected to Windows 7 7600 x86 compatible target at (Fri Apr 29 21:42:54.477 2011 (UTC + 8:00)), ptr64 FALSELoading Kernel Symbols.............................................................................................................................................................Loading User SymbolsPEB is paged out (Peb.Ldr = 7ffda00c).  Type ".hh dbgerr001" for detailsLoading unloaded module list..lkd> !sym noisynoisy mode - symbol prompts onlkd> !sym noisynoisy mode - symbol prompts onlkd> .sympath srv*G:\WinDDK\7600.16385.1\Debuggers\Symbols*http://msdl.microsoft.com/download/symbols DBGHELP: Symbol Search Path: srv*g:\winddk\7600.16385.1\debuggers\symbols*http://msdl.microsoft.com/download/symbols DBGHELP: Symbol Search Path: srv*g:\winddk\7600.16385.1\debuggers\symbols*http://msdl.microsoft.com/download/symbols Symbol search path is: srv*G:\WinDDK\7600.16385.1\Debuggers\Symbols*http://msdl.microsoft.com/download/symbols Expanded Symbol search path is: srv*g:\winddk\7600.16385.1\debuggers\symbols*http://msdl.microsoft.com/download/symbols WARNING: Whitespace at end of path element
下面在使用命令 dt _eprocess 出來了.本機7600.16695

lkd>  dt _eprocessntdll!_EPROCESS 

  +0x000 Pcb              : _KPROCESS

================================極速雙機調試VirtualKD+Windbg+vmware==================================
雙機調試的時候,不管是Windbg+vmware,還是Windbg+1394,其調試速率都是相對比較低的,有時候執行一條p命令,Windbg的狀態都會BUSY..好久...
VirtualKD可以完美的解決這一問題。
VirtualKD主要是用來提高當使用vmware或virtualBox進行windows核心調試時的速率。以前的雙機標準調試方法是利用虛擬COM串口,其速率很低。
通常,通過虛擬COM串口進行調試包括以下步驟:
1.windows使用虛擬COM串口和host主機之間進行資料交換;
2.WinDbg/KD使用VM提供的一個PIPE管道來與目標調試機進行通訊。
這裡最弱的串連是虛擬COM串口,其傳輸速率僅為:115200 baudrate,等效於115200 bit per second,也就是大約10KB/S的傳輸速率。VirtualKD取代了虛擬COM串口的功能,極大的提高了資料交換速率,可達6MB/S,但是官方給出的用!irpfind命令測試的話,vmware平台可達150KB/S,不過已經比虛擬COM串口快了15倍了。具體的效果只有在調試過程當中,才會體會到 -:) 事實上,VirtualKD的主要原理是,利用KD的擴充DLL功能,並且向虛擬機器patch一個進程,二者通過pipe來進行通訊。
使用方法:
1.配置方法可簡單,可複雜。簡單的方法有自動化,複雜的方法有手動設定。手動方法分為動態patch和靜態patch兩種,具體的可參考官網。http://virtualkd.sysprogs.org/
2.現在只說明下自動安裝的情況,目標機為vmware,若是VirtualBox,則稍有改動
下載VirtualKD安裝包,解壓後,父目錄下virtualKD2.2下有一個target目錄,將該target目錄copy到虛擬機器,點擊target/vminstall.exe 運行,然後直接安裝即可。如圖1所示,vminstall.exe會自動檢測虛擬機器的核心版本,因為我的目標機是wrk 的核心,故顯示:wrk debug【VirtualKD】,當然,你也可以將顯示的字串修改後,再點擊安裝。

當目標機為XP系統的時候,情況如圖2所示:
 
(圖2)

選擇install以後,按照提示直接重啟。
接著,在host主機端開啟vmmon.exe程式即可(記著,vmmon程式要始終開啟著),該程式會自動檢測到虛擬機器當中正在啟動並執行作業系統。簡單的設定下windbg的路徑和啟動方式(自動/手動),那麼一切就OK了。虛擬機器啟動的時候,windbg調試機就自動或手動掛接上了。如圖:



其實配置過程非常簡單。這裡寫的比較囉嗦了,主要是自己第一次配置的時候,沒好好讀說明書,結果手動設定,浪費了時間;後來選擇vminstall.exe自動安裝,忘記了設定Debugger path..又浪費了時間去檢查。
最終的結論是,使用VirtualKD代替了傳統的虛擬COM串口以後,調試速度是飛一般的快。
接受新事物總是好的,認知的過程總是有點小曲折,不過目標對象是多麼簡單。。。

========================windows 7本地核心調試================

使用VistaLKD 如下圖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.