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