2 つのファイアウォール

このシナリオでは、ビル A にあるコンピューターでカーネル デバッグを実行する必要があります。技術者はビル C にいて、そこでシンボルにアクセスできます。 ただし、どちらのビルにも、受信接続を許可しないファイアウォールがあります。

中立的なサイト (たとえば、ビル B) にリピーターを設定する必要があります。そうすれば、A を B に外部接続し、C を B に外部接続できます。

このシナリオには、次の 4 台のコンピューターが関与します。

  • ビル A にあるターゲット コンピューター。

  • ビル A にあるローカル ホスト コンピューター。このコンピューターでは KD 接続サーバーを実行します。 デバッグ ケーブルまたは 1394 ケーブルでターゲット コンピューターに接続され、リピーターに外部接続されます。 このコンピューターの IP アドレスを 127.0.10.10 と仮定します。

  • ビル B にあるコンピューター。このコンピューターではリピーターを実行します。 IP アドレスを 127.0.20.20 と仮定します。

  • 技術者がいるビル C にあるコンピューター。 このコンピューターでは、スマート クライアントとして WinDbg を実行します。 IP アドレスを 127.0.30.30 と仮定します。

まず、ターゲット コンピューターがデバッグ用に構成され、ローカル ホスト コンピューターに接続されていることを確認します。 この例では、1394 ケーブルを使用します。

次に、127.0.20.20 のリピーターを起動します。

dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10

さらに、次のように、ビル A にある 127.0.10.10 の KD 接続サーバーを起動します。

kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=longjump

最後に、ビル C にある 127.0.30.30 のスマート クライアントを起動します (実際には、これを実行するのは、ビル A でサーバーを起動する前でも後でもかまいません)。

windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=longjump},trans=@{1394:channel=9} -y SymbolPath

5 台のコンピューターのシナリオ

シンボルがビル C のコンピューター上にあっても、技術者が別のコンピューターを使用していると仮定した場合、このシナリオはさらに複雑になる可能性があります。

前と同様に、127.0.30.30 にシンボルがあり、そのローカル名が \\BOXC であるとします。 スマート クライアントは上記と同じコマンドで起動できますが、-server パラメーターを追加します。 このマシンは誰も使用しないため、WinDbg の代わりに KD を使用すると処理時間が短縮されます。

kd -server npipe:pipe=randomname -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=longjump},trans=@{1394:channel=9} -y SymbolPath

ビル内の他の場所にいる技術者は、次のようにデバッグ クライアントを起動できます。

windbg -remote npipe:server=\\BOXC,pipe=randomname

チェーン内の最後のデバッガーではなく、チェーン内の最初の非リピーター (\\BOXC 上のスマート クライアント) によってパスワードを指定する必要があることに注意してください。