Visual Studio でリモートデバッグするときの落とし穴はドキュメントにあり

Visual Studio のリモートデバッグ機能を使う場合、リモートデバッグモニタという名前の実行ファイルをローカルマシンからリモートマシンにコピーして、リモートデバッグモニタを動作させれば、ローカルマシンの Visual Studio から「プロセスにアタッチ」することができる。

…のであるが、一向にリモートマシンに繋がらないときがある。そういうときは、リモートデバッグモニタのバージョンを確認する必要がある。なぜなら、MSDN ライブラリの「 方法 : リモート デバッグをセットアップする 」が、VS 2005 時代から更新されていないからだ。

MSDN ライブラリ for VS 2008 SP1 の当該ドキュメントには、リモートデバッグモニタのパスが以下のように記述されている。

Install path\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86

ただし、"Install path" はインストールパス。デフォルトでは "C:\Program Files" になっている。

さて、上記の文字列ではバージョン番号のところが "8" になっているが、これは VS 2005 の内部バージョンであって、VS 2008 の内部バージョンは "9" である。ゆえに VS 2008 のリモートデバッグモニタへの正しいパスは以下の通り。

Install path\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86

なぜかバージョン番号が "9" じゃなくて "9.0" になっていたり…。

間違ったバージョンのリモートデバッグモニタに接続しようとすると、「バージョンが違う」といった親切なエラーではなく、 "unable to connect..." といった「接続できない」ダイアログが出てくる。もちろん、ファイアウォールなどの事情で実際に network unreachable である可能性もあるが、もしもローカルマシンの VS が 2005 でない(2008 or 2010)なら、リモートデバッグモニタのバージョンを再確認する必要がある。