スマート クライアントのアクティブ化
DbgSrv プロセス サーバーがアクティブ化されたら、別のコンピューター上にスマート クライアントを作成し、デバッグ セッションを開始できます。
スマート クライアントを起動するには 2 つの方法があります。-premote command-line option を使用して CDB または WinDbg を起動する方法と、WinDbg グラフィカル インターフェイスを使用する方法です。
スマート クライアントのプロトコルは、プロセス サーバーのプロトコルと一致する必要があります。 スマート クライアントを起動するための一般的な構文は、使用するプロトコルによって異なります。 次のオプションが利用可能です。
Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]
Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]
Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]
Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]
Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options]
Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options]
Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options]
グラフィカル インターフェイスを使用してプロセス サーバーに接続するには、WinDbg が休止モードである必要があります。つまり、コマンド ライン パラメーターを指定しないで起動されているか、前のデバッグ セッションが終了している必要があります。 File | Connect to Remote Stub メニュー コマンドを選択します。 Connect to Remote Stub Server ダイアログ ボックスが表示されたら、Connection string テキスト ボックスに次の文字列のいずれかを入力します。
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]
spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
または、Browse ボタンを使用してアクティブなプロセス サーバーを検索することもできます。
前のコマンドのパラメーターには、次の値があります。
Debugger
CDB または WinDbg を指定できます。
Server
これは、プロセス サーバーが作成されたコンピューターのネットワーク名または IP アドレスです。 2 つの最初のバックスラッシュ (\) は、コマンド ラインではオプションですが、WinDbg ダイアログボックスでは許可されていません。
pipe= PipeName
NPIPE または SPIPE プロトコルを使用している場合、PipeName は、プロセス サーバーの作成時にパイプに付けられた名前です。
サーバー コンピューターにアクセスできるアカウントでクライアント コンピューターにログオンしていない場合は、ユーザー名とパスワードを指定する必要があります。 クライアント コンピューターでー、コマンド プロンプト ウィンドウに次のコマンドを入力します。
net use \\Server\ipc$ /user:UserName
ここで、Server はサーバー コンピューターの名前、UserName はサーバー コンピューターにアクセ スできるアカウントの名前です。
プロンプトが表示されたら、UserName のパスワードを入力します。
このコマンドが成功すると、-premote コマンド ライン オプションを使用するか、WinDbg グラフィカル インターフェイスを使用してスマート クライアントをアクティブ化できます。
注 サーバー コンピューターでファイルとプリンタの共有を有効にする必要がある場合があります。 コントロール パネルで、[ネットワークとインターネット]>、>[ネットワークと共有センター]、[詳細な共有設定] に移動します。 [ファイルとプリンターの共有をオンにする] を選択します。
port= ソケット
TCP または SSL プロトコルを使用している場合、Socket は、プロセス サーバーの作成時に使用されたものと同じソケット ポート番号になります。
clicon
プロセス サーバーが逆接続を通じてスマート クライアントへの接続を試行することを指定します。 クライアントが clicon を使用するのは、サーバーが clicon を使用している場合のみです。 ほとんどの場合、逆接続が使用される場合、スマート クライアントはプロセス サーバーより前に起動されます。
port= COMPort
COM プロトコルを使用している場合、COMPort は、使用する COM ポートを指定します。 プレフィックス "COM" は省略可能です。たとえば、"com2" と "2" の両方が受け入れられます。
baud= BaudRate
COM プロトコルを使用している場合、BaudRate は、プロセス サーバーの作成時に選択されたボー レートと一致する必要があります。
channel= COMChannel
COM プロトコルを使用している場合、COMChannel は、プロセス サーバーの作成時に選択されたチャネル番号と一致する必要があります。
proto= 議定書
SSL または SPIPE プロトコルを使用している場合、Protocol は、プロセス サーバーの作成時に使用されたセキュリティで保護されたプロトコルと一致する必要があります。
Cert
SSL または SPIPE プロトコルを使用している場合、プロセス サーバーの作成時に使用されたのと同じ certuser=Cert または machuser=Cert パラメーターを使用する必要があります。
password= パスワード
プロセス サーバーの作成時にパスワードが使用されていた場合、スマート クライアントを作成するには、Password を指定する必要があります。 パスワードは元のパスワードと一致する必要があります。 パスワードでは大文字と小文字が区別されます。 間違ったパスワードが指定された場合、エラー メッセージには "Error 0x80004005" と指定されます。
ipversion=6
(Windows 6.6.07 以前用のデバッグツールのみ) TCP を使用してインターネットに接続するときに、デバッガーに IP バージョン 4 でなく強制的にバージョン 6 を使用させます。 Windows Vista 以降のバージョンでは、デバッガーは自動的に IP バージョン 6 を既定値に設定しようとするため、このオプションは不要です。
Options
コマンド ライン パラメーターをここに追加できます。 完全なリストについては、「コマンド ライン オプション」を参照してください。 CDB を使用している場合は、デバッグするプロセスを指定する必要があります。 WinDbg を使用している場合は、コマンド ラインまたはグラフィカル インターフェイスを使用してプロセスを指定できます。
プロセス サーバーはスマート クライアントのゲートウェイとして機能するため、追加の Options は、ターゲット アプリケーションと同じマシン上でユーザー モード デバッガーを起動する場合に使用するものと同じになります。
-premote オプションを .attach (プロセスにアタッチ) または .create (プロセスの作成) と共に使用している場合、パラメーターは上記と同じになります。
トラブルシューティング
次のメッセージが表示される場合: The client is not using same version of remoting protocol as the server (クライアントはサーバーと同じバージョンのリモート プロトコルを使用していません) これは、接続しようとしている DbgSrv のバージョンが WinDbg のバージョンとは異なるプロトコル バージョンを使用していることを示します。
プロトコルの変更が行われるのは一般的ではありません。 この問題が発生した場合は、利用可能な最新バージョンの DbgSrv と WinDbg (クラシック) または WinDbg の対応するバージョンを使用していることを確認してください。 最新バージョンのダウンロードの詳細については、「Windows 用のデバッグ ツール」を参照してください。