デバッグ サーバーのアクティブ化
デバッグ サーバーをアクティブ化するには、2 つの方法があります。 これは、-server コマンド ライン オプションを使用して、管理者特権でのコマンド プロンプト ウィンドウ (管理者として実行) を使用してデバッガーを起動するときにアクティブ化できます。 デバッガーの実行後にアクティブ化することもできます。 管理者特権 (管理者として実行) でデバッガーを起動し、.server コマンドを入力します。
注 管理者特権を持たずにデバッグ サーバーをアクティブ化でき、デバッグ クライアントはサーバーに接続できます。 ただし、クライアントは、管理者特権でアクティブ化されていない限り、デバッグ サーバーを検出できません。 デバッグ サーバーを検出する方法については、「デバッグ サーバーの検索」を参照してください。
大事な
リモート デバッグを使用する場合のセキュリティに関するその他の重要な考慮事項があります。セキュリティ モードの有効化の詳細については、「Security During Remote Debugging」および「Security Considerations for Windows Debugging Tools」を参照してください。
デバッガーでは、名前付きパイプ (NPIPE)、TCP、COM ポート、セキュリティで保護されたパイプ (SPIPE)、セキュリティで保護されたソケット レイヤー (SSL) など、いくつかのトランスポート プロトコルがサポートされています。
デバッグ サーバーをアクティブ化するための一般的な構文は、使用されるプロトコルによって異なります。
推奨される接続方法と、いくつかの追加のセキュリティ
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]
セキュリティで保護されていない接続方法の を
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]
デバッグ サーバーをアクティブ化するもう 1 つの方法は、デバッガーが既に開始された後に .server (デバッグ サーバーの作成) コマンドを使用することです。
推奨される接続方法と、いくつかの追加のセキュリティ
.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]
セキュリティで保護されていない接続方法の を
.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]
パラメーター
前のコマンドのパラメーターには、次の値を指定できます。
デバッガーの
KD、CDB、NTSD、WinDbg を指定できます。
pipe=PipeName
NPIPE または SPIPE プロトコルを使用する場合、PipeName はパイプの名前として機能する文字列です。 各パイプ名は、一意のデバッグ サーバーを識別する必要があります。 パイプ名を再利用しようとすると、エラー メッセージが表示されます。
PipeName には、スペースまたは引用符を含めることはできません。
PipeName には、%x や %dなどの数値 printfスタイルの書式コードを含めることができます。 デバッガーはこれをデバッガーのプロセス ID に置き換えます。 このような 2 つ目のコードは、デバッガーのスレッド ID に置き換えられます。
注 デバッグ サーバーを実行しているコンピューターでファイルとプリンターの共有を有効にする必要がある場合があります。 コントロール パネルで、[ネットワークとインターネット > ネットワークと共有センター]> [共有の詳細設定]に移動します。 [ファイルとプリンターの共有
port=ソケット
TCP または SSL プロトコルを使用する場合、ソケット はソケット ポート番号です。
コロンで区切ってポートの範囲を指定することもできます。 デバッガーは、この範囲内の各ポートをチェックして、空きがあるかどうかを確認します。 空きポートが検出され、エラーが発生しない場合は、デバッグ サーバーが作成されます。 デバッグ クライアントは、サーバーへの接続に使用される実際のポートを指定する必要があります。 実際のポートを確認するには、「デバッグ サーバーの検索
clicon=クライアント
TCP または SSL プロトコルを使用し、clicon パラメーターを指定すると、リバース接続 が開きます。 つまり、デバッグ サーバーは、クライアントが連絡先を開始するのではなく、デバッグ クライアントに接続しようとします。 これは、通常の方向の接続を妨げているファイアウォールがある場合に役立ちます。
クライアント は、デバッグ クライアントが存在するか作成されるコンピューターのネットワーク名または IP アドレスを指定します。 2 つの最初の円記号 (\) は省略可能です。
サーバーは 1 つの特定のクライアントを探しているため、この方法を使用する場合、複数のクライアントをサーバーに接続することはできません。 接続が拒否された場合、または切断された場合は、サーバー接続を再起動する必要があります。 別のデバッガーですべてのアクティブ サーバーが表示されている場合、逆接続サーバーは表示されません。
port=COMPort
COM プロトコルを使用する場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方を使用できます。
ボー=BaudRate
COM プロトコルを使用する場合、BaudRate は、接続を実行するボー レートを指定します。 ハードウェアでサポートされているボー レートは許可されます。
channel=COMChannel
COM プロトコルを使用する場合、COMChannel は、デバッグ クライアントとの通信に使用する COM チャネルを指定します。 これには、0 ~ 254 の任意の値を指定できます。 異なるチャネル番号を使用して、複数の接続に 1 つの COM ポートを使用できます。 (これは、デバッグ ケーブルに COM ポートを使用する場合とは異なります。このような状況では、COM ポート内でチャネルを使用することはできません)。
proto=プロトコル
SSL または SPIPE プロトコルを使用する場合、プロトコル は、セキュア チャネル (S チャネル) プロトコルを指定します。 これには、tls1、pct1、ssl2、または ssl3 のいずれかの文字列を指定できます。
証明書 の
SSL または SPIPE プロトコルを使用する場合は、証明書
非表示の を
別のデバッガーがすべてのアクティブ なサーバーを表示するときに、サーバーが表示されないようにします。
password=Password
デバッグ セッションに接続するには、クライアントが指定したパスワードを指定する必要があります。
パスワード には、最大 12 文字の任意の英数字文字列を使用できます。
大事な
TCP、NPIPE、または COM プロトコルでパスワードを使用すると、パスワードが暗号化されないため、保護の量はごくわずかです。 SSL または SPIPE プロトコルと共にパスワードを使用すると、パスワードが暗号化されます。 より安全なリモート セッションを確立する場合は、SSL または SPIPE プロトコルを使用する必要があります。
ipversion=6
(Windows 6.6.07 以前のデバッグ ツールのみ)TCP を使用してインターネットに接続するときに、デバッガーでバージョン 4 ではなく IP バージョン 6 を使用するように強制します。 Windows Vista 以降のバージョンでは、デバッガーは IP バージョン 6 の自動既定値を試み、このオプションを不要にします。
-noio
-noio オプションを使用してデバッグ サーバーを作成した場合、サーバー自体を介して入力または出力を実行することはできません。 デバッガーは、デバッグ クライアントからの入力のみを受け入れます (さらに、-c コマンド ライン オプションで指定された初期コマンドまたはコマンド スクリプト)。 すべての出力は、デバッグ クライアントに送信されます。
-noio オプションは、KD、CDB、および NTSD でのみ使用できます。 サーバーに NTSD が使用されている場合、コンソール ウィンドウはまったく作成されません。
IcfEnable の
インターネット接続ファイアウォールがアクティブな場合に、デバッガーで TCP または名前付きパイプ通信に必要なポート接続を有効にします。 既定では、インターネット接続ファイアウォールは、これらのプロトコルで使用されるポートを無効にします。 TCP 接続 IcfEnable を使用すると、デバッガーによって、Socket パラメーターで指定されたポートが Windows によって開きます。 名前付きパイプ接続 IcfEnable を使用すると、デバッガーによって、名前付きパイプに使用されるポート (ポート 139 および 445) が Windows によって開きます。 デバッガーは、接続が終了した後にこれらのポートを閉じません。
オプションの
追加のコマンド ライン パラメーターは、ここに配置できます。 完全な一覧については、「Command-Line オプションの」を参照してください。
.server コマンドを使用すると、さまざまなプロトコル オプションを使用して複数のサーバーを起動できます。 これにより、さまざまな種類のデバッグ クライアントがセッションに参加できます。
関連項目
リモート デバッグ セッション を制御する