デバッグ サーバーのアクティブ化

デバッグサーバーをアクティブにするには、2つの方法があります。 これは、管理者特権のコマンド プロンプト ウィンドウ (管理者として実行) で -server コマンドライン オプションを使用してデバッガーを起動したときにアクティブ化できます。 また、デバッガーの実行後にアクティブ化することもできます。 昇格した特権 (管理者として実行) でデバッガーを起動し、.server コマンドを入力します。

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

デバッガーは、名前付きパイプ(NPIPE)、TCP、COM ポート、セキュアパイプ(SPIPE)、およびセキュアソケットレイヤー(SSL)という複数のトランスポートプロトコルをサポートしています。

デバッグサーバーをアクティブにする一般的な構文は、使用するプロトコルによって異なります。

Debugger -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]

Debugger -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options]

Debugger -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]

Debugger -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [-noio] [Options]

Debugger -server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [-noio] [Options]

Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [-noio] [Options]

Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]

デバッギング・サーバーをアクティブにするもう1つの方法は、デバッガーがすでに起動した後に.server(デバッギング・サーバーの作成)コマンドを使用することです。

.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 

.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 

.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 

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

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

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

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

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

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

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

デバッグサーバーを実行しているコンピューターでファイルとプリンターの共有を有効にする必要があります。 コントロール パネルで、[ネットワークとインターネット]>、>[ネットワークと共有センター]、[詳細な共有設定] に移動します。 [ファイルとプリンターの共有をオンにする] を選択します。

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

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

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

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

cliconを使用すると、通常の順序 (クライアントの前にサーバー) も許可されますが、デバッグサーバーが作成される前に、デバッグクライアントを開始することをお勧めします。

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
別のデバッガーがすべてのアクティブなサーバーを表示するときに、サーバーが表示されないようにします。

password= パスワード
デバッグセッションに接続するために指定されたパスワードを指定するクライアントを必要とします。 パスワード最大12文字の英数字文字列を指定できます。

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

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

-noio
-noioオプションを指定してデバッグサーバーを作成した場合、サーバー自体を通じて入出力を行うことはできません。 デバッガーは、デバッグクライアントからの入力(および -c コマンドラインオプションで指定された初期コマンドまたはコマンドスクリプト)のみを受け付けます。 すべての出力はデバッグ・クライアントに向けられます。 -noioオプションは、KD、CDB、およびNTSDでのみ使用できます。 サーバーにNTSDが使用されている場合、コンソールウィンドウはまったく作成されない。

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

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

.server コマンドを使用して、異なるプロトコル オプションを使用して複数のサーバーを起動できます。 これにより、異なる種類のデバッグクライアントがセッションに参加できるようになる。

参照

リモート デバッグ セッションの制御

.endsrv (デバッグ サーバーの終了)