Repeater のアクティブ化
リピータ接続をアクティブにするには、通常、最初にサーバーを起動し、次にリピータを起動してから、クライアントを起動します。
最初にリピータを起動してから、サーバーを起動することもできます。 ただし、clicon パラメーターを使用して逆接続を確立しない限り、クライアントは常に最後に起動する必要があります。
大事な
リモート デバッグを使用する場合は、セキュリティに関する重要な考慮事項があります。 セキュア モードの有効化に関する情報を含む詳細については、「Security During Remote Debugging」および「Security Considerations for Windows Debugging Tools」を参照してください。
手順 1: サーバーの起動
サーバーには、デバッグ サーバー、プロセス サーバー、または KD 接続サーバーを指定できます。 これは通常と同じように開始します。ただし、トランスポート プロトコルの設定はクライアントではなく、リピータへの接続に使用されます。 詳細については、「デバッグ サーバーのアクティブ化、プロセス サーバーのアクティブ化
サーバーの作成時にパスワードを使用する場合、クライアントが接続するときにこのパスワードが必要になりますが、リピータの作成時には必要ありません。
hidden パラメーターを使用すると、サーバーは通常どおり非表示になります。 リピーター自体は常に非表示になります。
手順 2: リピータを開始する
Debugging Tools for Windows に含まれるリピータは、DbEngPrx (dbengprx.exe) と呼ばれます。
DbEngPrx は、名前付きパイプ (NPIPE)、TCP、COM ポートのトランスポート プロトコルを理解しています。
クライアントとサーバーで Secure Sockets Layer (SSL) プロトコルを使用している場合は、リピータに TCP プロトコルを使用する必要があります。 クライアントとサーバーがセキュリティで保護されたパイプ (SPIPE) プロトコルを使用している場合は、リピータに NPIPE プロトコルを使用する必要があります。 リピータは、受信したデータを渡します。情報の解釈、暗号化、復号化は行いません。 すべての暗号化と復号化は、クライアントとサーバーによって行われます。
DbEnPrx コマンド ラインの構文は次のとおりです。
dbengprx [-p] -cClientTransport-sServerTransport
前のコマンドのパラメーターには、次の値を指定できます。
-p
DbEngPrx へのすべての接続が削除された後も、既存の DbEngPrx を続行します。
ClientTransport
サーバーへの接続に使用するプロトコル設定を指定します。 プロトコルは、サーバーの作成時に使用されたものと一致する必要があります。 プロトコルの構文は次のとおりです。
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]
プロトコル パラメーターには、次の意味があります。
Server
これは、サーバーが作成されたコンピューターのネットワーク名または IP アドレスです。 2 つの最初の円記号 (\) は省略可能です。
pipe=PipeName
NPIPE または SPIPE プロトコルを使用する場合、PipeName は、サーバーの作成時にパイプに指定された名前です。
port=ソケット
TCP または SSL プロトコルを使用する場合、ソケット は、サーバーの作成時に使用されたのと同じソケット ポート番号です。
clicon を
サーバーが逆接続を介してリピータに接続することを指定します。
port=COMPort
COM プロトコルを使用する場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方を使用できます。
ボー=BaudRate
COM プロトコルを使用する場合、BaudRate は、サーバーの作成時に選択したボー レートと一致する必要があります。
channel=COMChannel
COM プロトコルを使用する場合、COMChannel は、サーバーの作成時に選択したチャネル番号と一致する必要があります。
password=Password
サーバーの作成時にパスワードを使用した場合、デバッグ クライアントを作成するには、パスワード を指定する必要があります。 元のパスワードと一致する必要があります。 パスワードでは大文字と小文字が区別されます。 間違ったパスワードが指定されている場合、エラー メッセージは "エラー 0x80004005" を指定します。
ipversion=6
(Windows 6.6.07 以前のデバッグ ツールのみ)TCP を使用してインターネットに接続するときに、デバッガーでバージョン 4 ではなく IP バージョン 6 を使用するように強制します。 Windows Vista 以降のバージョンでは、デバッガーは IP バージョン 6 の自動既定値を試み、このオプションを不要にします。
ServerTransport
クライアントがリピータに接続するときに使用されるプロトコル設定を指定します。 考えられるプロトコル構文は次のとおりです。
npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket[,hidden][,password=Password][,IcfEnable]
tcp:port=Socket,clicon=Client[,password=Password]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
プロトコル パラメーターには、次の意味があります。
pipe=PipeName
NPIPE または SPIPE プロトコルを使用する場合、PipeName はパイプの名前として機能する文字列です。 各パイプ名は、一意のリピータを識別する必要があります。 パイプ名を再利用しようとすると、エラー メッセージが表示されます。
PipeName には、スペースまたは引用符を含めることはできません。
PipeName には、%x や %dなどの数値 printfスタイルの書式コードを含めることができます。 リピータはこれを DbEngPrx のプロセス ID に置き換えます。 2 つ目のコードは、DbEngPrx のスレッド ID に置き換えられます。
port=ソケット
TCP または SSL プロトコルを使用する場合、ソケット はソケット ポート番号です。
コロンで区切ってポートの範囲を指定することもできます。 DbEngPrx は、この範囲内の各ポートをチェックして、空きがあるかどうかを確認します。 空きポートが検出され、エラーが発生しない場合は、リピータが作成されます。 クライアントは、リピータへの接続に使用される実際のポートを指定する必要があります。 実際のポートを確認するには、リピータを検索します。このリピータが表示されると、ポートの後にコロンで区切られた 2 つの数値が続きます。 最初の番号は実際に使用されるポートです。2 番目の値は無視できます。 たとえば、ポートが port=51:60として指定され、ポート 53 が実際に使用された場合、検索結果には "port=53:60" と表示されます。 (clicon パラメーターを使用して逆接続を確立する場合、クライアントは、この方法でポートの範囲を指定できますが、リピータは実際に使用するポートを指定する必要があります)。
clicon=クライアント
TCP または SSL プロトコルを使用し、clicon パラメーターを指定すると、リバース接続 が開きます。 つまり、リピーターは、クライアントが連絡先を開始するのではなく、クライアントへの接続を試みます。 これは、通常の方向の接続を妨げているファイアウォールがある場合に役立ちます。
クライアント は、クライアントが存在するか、作成されるコンピューターのネットワーク名または IP アドレスを指定します。 2 つの最初の円記号 (\) は省略可能です。
リピータは 1 つの特定のクライアントを探しているため、この方法を使用する場合、複数のクライアントをリピータに接続することはできません。 接続が拒否された場合、または切断された場合は、リピータを再起動する必要があります。
clicon
port=COMPort
COM プロトコルを使用する場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方を使用できます。
ClientTransport と ServerTransportで同じ COM ポートを使用することはできません。
ボー=BaudRate
COM プロトコルを使用する場合、BaudRate は、接続を実行するボー レートを指定します。 ハードウェアでサポートされているボー レートは許可されます。
ClientTransport と ServerTransport の両方で COM プロトコルを使用している場合は、異なるボー レートを指定できますが、当然ながら速度の低下は、クライアントとサーバーが相互に通信できる速度の制限になります。
channel=COMChannel
COM プロトコルを使用する場合、COMChannel は、クライアントとの通信に使用する COM チャネルを指定します。 これには、0 ~ 254 の任意の値を指定できます。 異なるチャネル番号を使用して、複数の接続に 1 つの COM ポートを使用できます。 (これは、デバッグ ケーブルに COM ポートを使用する場合とは異なります。このような状況では、COM ポート内でチャネルを使用することはできません)。
非表示の を
別のデバッガーがすべてのアクティブ なサーバーを表示するときに、サーバーが表示されないようにします。
password=Password
デバッグ セッションに接続するには、クライアントが指定したパスワードを指定する必要があります。
パスワード には、任意の英数字文字列を使用できます。
IcfEnable の
インターネット接続ファイアウォールがアクティブな場合に、デバッガーで TCP または名前付きパイプ通信に必要なポート接続を有効にします。 既定では、インターネット接続ファイアウォールは、これらのプロトコルで使用されるポートを無効にします。 TCP 接続 IcfEnable を使用すると、デバッガーによって、Socket パラメーターで指定されたポートが Windows によって開きます。 名前付きパイプ接続 IcfEnable を使用すると、デバッガーによって、名前付きパイプに使用されるポート (ポート 139 および 445) が Windows によって開きます。 デバッガーは、接続が終了した後にこれらのポートを閉じません。
手順 3: クライアントの開始
クライアントは、サーバーの種類に対応するデバッグ クライアントまたはスマート クライアントである必要があります。 詳細については、「
サーバーが接続を拒否した場合 (たとえば、正しくないパスワードを指定した場合)、リピータとクライアントの両方がシャットダウンされます。 サーバーとの接続を再確立するには、両方を再起動する必要があります。