スマート クライアントのアクティブ化 (カーネル モード)

KD 接続サーバーがアクティブ化されたら、別のコンピューター上にスマート クライアントを作成し、デバッグ セッションを開始できます。

スマート クライアントを起動するには 2 つの方法があります。カーネル プロトコル kdsrv を使用して KD または WinDbg を起動する方法と、WinDbg グラフィカル インターフェイスを使用する方法です。

KD 接続サーバーで使用されるリモート転送プロトコルを指定する必要があります。 KD 接続サーバーとターゲット コンピューターの間の実際のカーネル接続のプロトコルを指定することも、既定値を使用することもできます。

スマート クライアントを起動するための一般的な構文は、使用するプロトコルによって異なります。 次のオプションが利用可能です。

Debugger -k kdsrv:server=@{npipe:server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:server=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

Debugger -k kdsrv:server=@{ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]},trans=@{ConnectType} [Options]

グラフィカル インターフェイスを使用して KD 接続サーバーに接続するには、WinDbg が休止モードである必要があります。つまり、コマンド ライン パラメーターを指定しないで起動されているか、前のデバッグ セッションが終了している必要があります。 File | Connect to Remote Stub メニュー コマンドを選択します。 Connect to Remote Stub Server ダイアログ ボックスが表示されたら、Connection string テキスト ボックスに次の文字列のいずれかを入力します。

npipe:server=Server,pipe=PipeName[,password=Password] 

tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] 

または、Browse ボタンを使用してアクティブな KD 接続サーバーを検索することもできます。

前のコマンドのパラメーターには、次の値があります。

Debugger
KD または WinDbg を指定できます。

[サーバー]
これは、KD 接続サーバーが作成されたコンピューターのネットワーク名または IP アドレスです。最初の 2 つのバックスラッシュ (\) は、コマンド ラインではオプションですが、WinDbg ダイアログ ボックスでは許可されません。

pipe= PipeName
NPIPE または SPIPE プロトコルを使用している場合、PipeName は、KD 接続サーバーの作成時にパイプに付けられた名前です。

サーバー コンピューターにアクセスできるアカウントでクライアント コンピューターにログオンしていない場合は、ユーザー名とパスワードを指定する必要があります。 クライアント コンピューターでー、コマンド プロンプト ウィンドウに次のコマンドを入力します。

net use \\Server\ipc$ /user:UserName

ここで、Server はサーバー コンピューターの名前、UserName はサーバー コンピューターにアクセ スできるアカウントの名前です。

プロンプトが表示されたら、UserName のパスワードを入力します。

このコマンドが成功すると、-k kdsrv を使用するか、WinDbg グラフィカル インターフェイスを使用してスマート クライアントをアクティブ化できます。

port= ソケット
TCP または SSL プロトコルを使用している場合、Socket は、KD 接続サーバーの作成時に使用されたものと同じソケット ポート番号になります。

clicon
KD 接続サーバーが逆接続を通じてスマート クライアントへの接続を試行することを指定します。 クライアントが clicon を使用するのは、サーバーが clicon を使用している場合のみです。 ほとんどの場合、逆接続が使用される場合、スマート クライアントは KD 接続サーバーより前に起動されます。

port= COMPort
COM プロトコルを使用している場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方が受け入れられます。

baud= BaudRate
COM プロトコルを使用している場合、BaudRate は、KD 接続サーバーの作成時に選択されたボー レートと一致する必要があります。

channel= COMChannel
COM プロトコルを使用している場合、COMChannel は、KD 接続サーバーの作成時に選択されたチャネル番号と一致する必要があります。

proto= 議定書
SSL または SPIPE プロトコルを使用している場合、Protocol は、KD 接続サーバーの作成時に使用されたセキュリティで保護されたプロトコルと一致する必要があります。

Cert
SSL または SPIPE プロトコルを使用している場合、KD 接続サーバーの作成時に使用されたのと同じ certuser=Cert または machuser=Cert パラメーターを使用する必要があります。

password= パスワード
KD 接続サーバーの作成時にパスワードが使用されていた場合、スマート クライアントを作成するには、Password を指定する必要があります。 パスワードは元のパスワードと一致する必要があります。 パスワードでは大文字と小文字が区別されます。 間違ったパスワードが指定された場合、エラー メッセージには "Error 0x80004005" と指定されます。

ipversion=6
(Windows 6.6.07 以前用のデバッグツールのみ) TCP を使用してインターネットに接続するときに、デバッガーに IP バージョン 4 でなく強制的にバージョン 6 を使用させます。 Windows Vista 以降のバージョンでは、デバッガーは自動的に IP バージョン 6 を既定値に設定しようとするため、このオプションは不要です。

trans=@{ ConnectType }
ターゲットに接続する方法をデバッガーに指示します。 次のカーネル接続プロトコルが許可されます。

com:port=ComPort,baud=BaudRate 
usb2:targetname=String 
com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]
com:modem 

これらのプロトコルの詳細については、「デバッグのセットアップ」を参照してください。 これらのプロトコルのパラメーターはいずれも省略できます (たとえば、trans=@{com:} とすることができます)。デバッガーは、KdSrv が実行されているコンピューター上の環境変数で指定された値を既定で使用します。

Options
コマンド ライン パラメーターをここに追加できます。 完全なリストについては、「コマンド ライン オプション」を参照してください。

KD 接続サーバーはスマート クライアントのゲートウェイとして機能するため、追加の Options は、KdSrv が実行されているコンピューターでカーネル デバッガーを起動する場合に使用するものと同じになります。 例外は、スマート クライアントが実行されているコンピューター上のパスとして使用されるパスまたはファイル名を指定するオプションである場合です。