次の方法で共有


KD 接続サーバーのアクティブ化

Windows 用のデバッグ ツールに含まれる KD 接続サーバーは、KdSrv (kdsrv.exe) と呼ばれます。 KD 接続サーバーをアクティブにするには、管理者特権でコマンド プロンプト ウィンドウを開き (管理者として実行)、kdsrv コマンドを入力します。

管理者特権がなくても KD 接続サーバーをアクティブ化でき、デバッグ クライアントはサーバーに接続できます。 ただし、管理者特権で KD 接続サーバーをアクティブ化しない限り、クライアントはプロセス サーバーを検出できません。 デバッグ サーバーを検出する方法については、「KD 接続サーバーの検索」を参照してください。

KdSrv は、名前付きパイプ (NPIPE)、TCP、COM ポート、セキュア パイプ (SPIPE)、および Secure Sockets Layer (SSL) などのいくつかのトランスポート プロトコルをサポートします。

KdSrv コマンド ラインの構文は、使用されるプロトコルによって異なります。 次のオプションが利用可能です。

kdsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 

kdsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 

kdsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 

kdsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

kdsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] 

kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] 

kdsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] 

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

pipe= PipeName
NPIPE または SPIPE プロトコルを使用している場合、PipeName は、パイプの名前として機能する文字列です。 各パイプ名は一意のプロセス サーバーを識別する必要があります。 パイプ名を再利用しようとすると、エラー メッセージが表示されます。 PipeName には、スペースまたは引用符を含めることはできません。 PipeNameに、数値の printf スタイルの書式コード (%x または%d ) を含めることができます。 これは KdSrv のプロセス ID に置き換えられます。 このような 2 番目のコードは、KdSrv のスレッド ID に置き換えられます。

port= ソケット
TCP または SSL プロトコルを使用する場合、ソケット は、ソケットポート番号です。

コロンで区切られたポートの範囲を指定することもできます。 KdSrv は、この範囲内の各ポートが空いているかどうかをチェックします。 空きポートが見つかり、エラーが発生しなければ、KD 接続サーバーが作成されます。 スマート クライアントは、サーバーへの接続に使用されている実際のポートを指定する必要があります。 実際のポートを決定するには、「KD 接続サーバーの検索」で説明されているいずれかの方法を使用します。この KD 接続サーバーが表示されると、ポートの後にコロンで区切られた 2 つの数字が続きます。 最初の番号は、実際に使用されるポートになります。2 番目は無視できます。 たとえば、ポートが =51:60 として指定され、ポート 53 が実際に使用されていると、検索結果には "port=53:60" が表示されます。 (clicon パラメーターを使用して逆接続を確立している場合、クライアントはこの方法でポートの範囲を指定できますが、KD 接続サーバーは実際に使用されるポートを指定する必要があります。)

clicon= クライアント
TCP または SSL プロトコルを使用しclicon パラメーターを指定している場合は、逆方向の接続が開かれます。 これは、KD 接続サーバーがクライアントに接続を開始させるのではなく、スマート クライアントに接続しようとすることを意味します。 これは、通常の方向の接続を妨げているファイアウォールがある場合に便利です。 Client は、スマート クライアントが存在するコンピューター、またはスマート クライアントが作成されるコンピューターのネットワーク名または IP アドレスを指定します。 2 つの最初の円記号 (\) は省略可能です。

KD 接続サーバーが 1 つの特定のクライアントを探しているため、このメソッドを使用する場合、サーバーに複数のクライアントを接続することはできません。 接続が拒否された場合、または切断された場合は、プロセス サーバーを再起動する必要があります。 -QR コマンド ライン オプションを使用してすべてのアクティブなサーバーを表示すると、逆接続の KD 接続サーバーは表示されません。

clicon を使用する場合は、KD接続サーバーを作成する前にスマート クライアントを起動するのが最善ですが、通常の順序 (クライアントの前にサーバー) でも構いません。

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

baud= BaudRate
COM プロトコルを使用している場合、BaudRate は、接続が実行されるボー レートを指定します。 ハードウェアでサポートされている任意のボー レートが許可されます。

channel= COMChannel
COM プロトコルを使用している場合、COMChannel は、デバッグ クライアントとの通信に使用する COM チャンネルを指定します。 0 から 254 までの任意の値を指定できます。 異なるチャネル番号を使用して複数の接続に対して 1 つの COM ポートを使用することができます。 (これは、デバッグ ケーブルの COM ポートの使用とは異なります。その状況では、COM ポート内のチャネルを使用することはできません。)

proto= 議定書
SSL または SPIPE プロトコルを使用している場合、Protocol は、Secure Channel (S-Channel) プロトコルを指定します。 文字列 tls1、pct1、ssl2、または ssl3 のいずれかを指定できます。

Cert
SSL または SPIPE プロトコルを使用している場合、Cert は、証明書を指定します。 証明書の名前または証明書の拇印 (証明書のスナップインによって指定された 16 進数の文字列) のいずれかを指定できます。 構文 certuser=Cert を使用すると、デバッガーはシステムストア (既定のストア) で証明書を検索します。 構文 machuser=Cert を使用すると、デバッガーはマシンのストアで証明書を検索します。 指定した証明書は、サーバー認証をサポートする必要があります。

hidden
-QR コマンド ライン オプションを使用してすべてのアクティブなサーバーを表示すると、KD 接続サーバーは表示されません。

password= パスワード
スマート クライアントでは、KD 接続サーバーに接続するには、指定されたパスワードを入力する必要があります。 Password は、最大 12 文字の英数字文字列を指定できます。

警告TCP、NPIPE、または COM プロトコルでパスワードを使用すると、パスワードが暗号化されていないため、保護の量が少なくなります。 SSL または SPIPE プロトコルでパスワードを使用すると暗号化されます。 セキュリティで保護されたリモート セッションを確立する場合は、SSL または SPIPE プロトコルを使用する必要があります。

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

IcfEnable
インターネット接続ファイアウォールがアクティブな場合に、TCP または名前付きパイプ通信に必要なポート接続を有効にします。 既定では、インターネット接続ファイアウォールはこれらのプロトコルで使用されるポートを無効にします。 IcfEnable が TCP 接続で使用されていると、デバッガーは Windows に Socket パラメーターで指定されたポートを開かせます。 IcfEnable が名前付きパイプ接続で使用されている場合、デバッガーは Windows に名前付きパイプに使用されるポート (ポート 139 および 445) を開かせます。 接続が終了しても、デバッガーはこれらのポートを閉じません。