在上節中,我們設置好了符號服務器,接下來我們可以啟動調試器了。
語法如下
[cdb |ntsd |windbg] 后面接下面的選項
[-server ServerTransport 創建一個可以用其他調試器訪問的調試服務器]
[-remote ClientTransport 創建一個調試客戶端,并連接到已經運行的調試服務器上]
[-o(指示其子進程也加入進入調試集合)]
[-pn 執行進程名(該進程已處于運行并且只有一份)]
[-psn 執行服務名]
[-p 執行進程Id,十進制]
[-y 符號路徑]
[-pv 以無侵入的方式加入調試]
[-log{a|o} 以附加或者重寫方式寫日志]
[可執行文件名,參數。須位于最后]
內核調試方法有通過1394線連接調試,也有通過虛擬機管道來調試。下面以VMWARE虛擬機來介紹管道調試方法。
設置虛擬機:首先打開XP虛擬機的設備編輯頁面,添加一個串口設備,設備狀態選中連接和在啟動連接兩個選項。在下面選擇使用命名管道,名字設置為\\.\pipe\com_1,并選擇下面兩個下拉框中分別選中”本機是服務端“和另外的機器是虛擬機。
設置主機:如果被調試機器是NT6.0以前的系統,那么在系統盤啟動分區的boot.ini文件中加入啟動調試的支持,在[operating systems]節下加入調試版啟動項
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200
啟動時再選擇相應的調試版就可以進入到內核調試態。如果目標機器的操作系統是NT6.0C之后的那么就要使用BCDEDIT來加啟動項。
設置調試機:調試方輸入以下的命令就可以和被調試系統連上。
路徑windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe
路徑KD.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe