共用方式為


KD 命令列選項

KD 的第一次用戶應該從使用 KD 和 NTKD 進行偵錯一節開始

KD 命令行會使用下列語法。

kd [ -server ServerTransport | -remote ClientTransport ] 
   [-b | -x] [-d] [-bonc] [-m] [-myob] [-lines] [-n] [-r] [-s] 
   [-v] [-clines lines] [-failinc] [-noio] [-noshell] 
   [-secure] [-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul]
   [-sup] [-sflags 0xNumber] [-log{a|au|o|ou} LogFile] 
   [-aExtension] [-zp PageFile] 
   [-i ImagePath] [-y SymbolPath]  [-srcpath SourcePath] 
   [-k ConnectType | -kl | -kqm | -kx ExdiOptions] [-ee {masm|c++}] 
   [-z DumpFile] [-cf "filename"] [-cfr "filename"] [-c "command"] 
   [-t PrintErrorLevel] [-version] 

kd -iu KeyString

kd -QR Server 

kd -wake PID 

kd -?

KD 命令列選項的描述如下。 只有 -remote-server 選項會區分大小寫。 初始連字元可以取代為正斜線 (/)。 不採用任何其他參數的選項可以串連 -- 因此 kd -r -n -v 可以撰寫為 kd -rnv

如果使用 -remote-server 選項,則必須出現在命令行上的任何其他選項之前。

參數

-伺服器 ServerTransport
建立可由其他調試程式存取的偵錯伺服器。 如需可能 ServerTransport 的說明,請參閱啟用偵錯伺服器 使用此參數時,它必須是命令行上的第一個參數。

-遠端 ClientTransport
建立偵錯用戶端,並連接到已經執行的偵錯伺服器。 如需可能 ClientTransport 值的說明,請參閱啟用偵錯用戶端 使用此參數時,它必須是命令行上的第一個參數。

-一個 外延
設定預設擴充 DLL。 預設值為 kdextx86.dll 或 kdexts.dll。 在 「a」 之後不得有空格,而且不得包含.dll擴展名。 如需設定此預設值的詳細資訊和其他方法,請參閱 載入調試程式擴充功能 DLL

-b
已不再支援此選項。

-bonc
如果指定此選項,調試程式會在會話開始時立即中斷目標。 當連線到目前可能未損入目標的偵錯伺服器時,這特別有用。

-c ”command
指定要在啟動時執行的初始調試程式命令。 此命令必須以引弧括住。 您可以使用分號分隔多個命令。 (如果您有很長的命令清單,可能更容易將它們放在腳本中,然後使用 -c 選項搭配 $<、$、$><、$><、><$(執行腳本檔案)命令。

如果您要啟動偵錯用戶端,此命令必須適用於偵錯伺服器。 不允許用戶端特定命令,例如 .lsrcpath

-cf ”filename
指定文稿檔案的路徑和名稱。 啟動調試程序之後,就會立即執行此腳本檔案。 如果 檔名 包含空格,則必須以引弧括住。 如果省略路徑,則會假設目前的目錄。 如果未使用 -cf 選項,則目前目錄中的檔案ntsd.ini會當做腳本檔案使用。 如果檔案不存在,則不會發生錯誤。 如需詳細資訊,請參閱 使用腳本檔案

-cfr ”filename
指定文稿檔案的路徑和名稱。 此腳本檔案會在調試程序啟動后立即執行,而且每當重新啟動目標時。 如果 檔名 包含空格,則必須以引弧括住。 如果省略路徑,則會假設目前的目錄。 如果檔案不存在,則不會發生錯誤。 如需詳細資訊,請參閱 使用腳本檔案

-clines
設定可在遠端偵錯期間存取之命令歷程記錄中的大約命令數目。 如需詳細資訊,以及變更此號碼的其他方式,請參閱 使用調試程式命令

-d
重新啟動之後,調試程式會在載入核心模組時立即進入目標計算機。 (此中斷時間早於 -b 選項的中斷。如需變更此狀態的其他方法的詳細資訊,請參閱當機並重新啟動目標計算機

-ee {masm|c++}
設定預設表達式評估工具。 如果 指定masm ,則會使用MASM表示式語法。 如果 指定 c++ ,則會使用C++運算式語法。 如果省略 -ee 選項,則會使用MASM表示式語法做為預設值。 如需詳細資訊,請參閱 評估表達式

-failinc
讓調試程式忽略任何可疑的符號。 偵錯使用者模式或內核模式迷你傾印檔案時,此選項也會防止調試程式載入無法對應映像的任何模組。 如需控制此動作的詳細資訊和其他方法,請參閱 SYMOPT_EXACT_SYMBOLS

-我 ImagePath
指定產生錯誤的可執行檔案位置。 如果路徑包含空格,則應該以引弧括住。

-iu KeyString
將調試程式遠端登錄為 URL 類型,讓使用者可以使用 URL 自動啟動調試程式遠端用戶端。 KeyString 格式為 remdbgeng://RemotingOptionRemotingOption 是字串,定義啟用偵錯用戶端主題中所定義的傳輸通訊協定。 如果此動作成功,則不會顯示任何訊息;如果失敗,則會顯示錯誤訊息。

-iu 參數不得搭配任何其他參數使用。 此命令實際上不會啟動 KD。

-k ConnectType
告知調試程式如何連線到目標。 如需詳細資訊,請參閱 使用 KD 和 NTKD 進行偵錯。

-kl
在與調試程式相同的計算機上啟動核心偵錯會話。

-kqm
以無訊息模式啟動 KD。

-kx ExdiOptions
使用 EXDI 驅動程式啟動核心偵錯工作階段。 本文件並未說明 EXDI 驅動程式。 如果您有硬體探查或硬體模擬器的 EXDI 介面,請連絡Microsoft以取得偵錯資訊。

-線
啟用原始程式行偵錯。 如果省略此選項, 則必須使用 .lines (切換來源行支援) 命令,才能允許來源偵錯。 如需控制這個的其他方法,請參閱 SYMOPT_LOAD_LINES

-log{a|au|o|ou} LogFile
開始將資訊記錄到記錄檔。 如果 LogFile 已經存在,則會在使用 -logo覆寫它,如果使用 -loga,則會將輸出附加至檔案。 -logau-logou 選項分別運作類似 -loga-logo,不同之處在於記錄檔是 Unicode 檔案。 如需詳細資訊,請參閱 在 KD 中保留記錄檔。

-m
表示序列埠已連線到數據機。 指示調試程式監看電信業者偵測訊號。

-myob
如果版本與dbghelp.dll不符,調試程式將會繼續執行。 (如果沒有 -myob 參數,這被視為嚴重錯誤。

這個選項的次要效果是隱藏進入目標計算機時,通常會出現的警告。

-n
Noisy 符號載入:啟用符號處理程式的詳細信息輸出。 如需詳細數據,以及控制此動作的其他方法,請參閱 SYMOPT_DEBUG

-noio
防止偵錯伺服器用於輸入或輸出。 輸入只會從偵錯用戶端接受(加上 -c 命令行選項所指定的任何初始命令或命令腳本)。

所有輸出都會導向至偵錯用戶端。 如需詳細資訊,請參閱 啟用偵錯伺服器

-noshell
禁止所有 .shell 命令。 只要調試程式正在執行,這項禁令就會持續,即使開始新的偵錯會話也一樣。 如需詳細資訊,以及停用殼層命令的其他方式,請參閱 使用殼層命令。

-QR 伺服器
列出在指定之網路伺服器上執行的所有偵錯伺服器。 雙反斜杠 (\\) 前 一個伺服器 是選擇性的。 如需詳細資訊,請參閱搜尋偵錯伺服器

-QR 參數不得與任何其他參數搭配使用。 此命令實際上不會啟動 KD。

-r
顯示快取器。

-s
停用延遲符號載入。 這會讓進程啟動變慢。 如需詳細數據,以及控制此動作的其他方法,請參閱 SYMOPT_DEFERRED_LOADS

-sdce
讓調試程式在符號載入期間顯示 [ 檔案存取錯誤 ] 對話框。 如需詳細數據,以及控制此動作的其他方法,請參閱 SYMOPT_FAIL_CRITICAL_ERRORS

-安全
啟用 安全模式

-ses
讓調試程式對所有符號檔執行嚴格的評估,並忽略任何可疑的符號。 如需控制此動作的詳細資訊和其他方法,請參閱 SYMOPT_EXACT_SYMBOLS

-sflags 0x
一次設定所有符號處理程序選項。 Number 應該是前置詞為 0x 的十六進位數位 -- 允許沒有 0x 的十進位數位,但符號選項是二進位旗標,因此建議使用十六進位。 此選項應該小心使用,因為它會覆寫所有符號處理程序預設值。 如需詳細資訊,請參閱 設定符號選項

-sicv
導致符號處理程式忽略 CV 記錄。 如需詳細數據,以及控制此動作的其他方法,請參閱 SYMOPT_IGNORE_CVREC

-罪
讓調試程式忽略符號路徑和可執行的映像路徑環境變數。 如需詳細資訊,請參閱 SYMOPT_IGNORE_NT_SYMPATH

-snc
讓調試程式關閉C++轉譯。 如需控制此動作的詳細資訊和其他方法,請參閱 SYMOPT_NO_CPP

-snul
停用未限定名稱的自動符號載入。 如需詳細數據,以及控制此動作的其他方法,請參閱 SYMOPT_NO_UNQUALIFIED_LOADS

-srcpath SourcePath
指定來源檔案搜尋路徑。 使用分號分隔多個路徑(;)。 如果路徑包含空格,則應該以引弧括住。 如需詳細資訊,以及變更此路徑的其他方式,請參閱 來源路徑

-支援
讓符號處理程式在每個符號搜尋期間搜尋公用符號數據表。 如需控制此動作的詳細資訊和其他方法,請參閱 SYMOPT_AUTO_PUBLICS

-t PrintErrorLevel
指定會導致調試程序顯示錯誤訊息的錯誤層級。 這是等於 0、1、2 或 3 的十進位數。 這些值描述如下:

持續性 意義

0

NONE

不要顯示任何錯誤。

1

錯誤

顯示錯誤層級偵錯事件。

2

MINORERROR

顯示 MINORERROR 和錯誤層級偵錯事件。

3

警告

顯示WARNING、MINORERROR和 ERROR 層級偵錯事件。

此錯誤層級在已核取Microsoft Windows 的組建中才有意義。 預設值是 1秒。 在 Windows 10 版本 1803 之前,檢查過的組建可在舊版 Windows 上使用。

-v
產生載入、延遲載入和卸除的詳細資訊訊息。

-版本
列印調試程式版本字串。

-喚醒 PID
導致睡眠模式結束,而使用者模式調試程式的進程標識碼是由 PID指定。 此命令必須在睡眠模式期間於目標計算機上發出。 如需詳細資訊,請參閱 從核心調試程式控制使用者模式調試程式

-wake 參數不得與任何其他參數搭配使用。 此命令實際上不會啟動 KD。

-x
導致調試程式在第一次發生例外狀況時中斷,而不是讓造成例外狀況處理的應用程式或模組處理例外狀況。 (與 -b 相同,除了初始 eb nt!NtGlobalFlag 9;g command.)

-y SymbolPath
指定符號搜尋路徑。 使用分號分隔多個路徑(;)。 如果路徑包含空格,則應該以引弧括住。 如需詳細資訊,以及變更此路徑的其他方式,請參閱 符號路徑

-z DumpFile
指定要偵錯的損毀傾印檔案名稱。 如果路徑和檔名包含空格,則必須以引弧括住。 可以一次開啟數個傾印檔案,方法是包含多個 -z 選項,後面接著不同的 DumpFile 值。 如需詳細資訊,請參閱 使用 KD 分析內核模式傾印檔案。

-zp PageFile
指定修改的頁面檔名稱。 如果您要偵錯傾印檔案,而且想要使用 .pagein (記憶體中的頁面) 命令, 這會很有用。 您無法搭配標準 Windows 頁面檔案使用 -zp ,只能使用特別修改的頁面檔案。

-?
顯示命令行說明文字。

KD 會自動偵測目標執行所在的平臺。 您不需要在 KD 命令列上指定目標。 舊語法(使用名稱 I386KDIA64KD)已過時。