今更ですが VisualStudio 2012 のリモートデバッグが思いの外、進化していたことがわかりました。
リモートの環境で、リモートデバッグのモニターを起動しておくのは従来から変わらないのですが、今までの VisualStudio 2010 まではリモートに手動なりスクリプトなりでビルドした実行体や必要なファイルをコピーしていました。これが 2012 からはリモートデバッグの設定でできるようになりました。
この機能を使うためには、プロジェクトの設定を変更する必要があります。 構成マネージャーを開き
「配置」の項目にチェックを入れる必要があります。デフォルトではここにチェックが入っていません。
その後、プロジェクトのプロパティで、デバッグを 「ローカル Windows デバッガー」 から 「リモート Windows デバッガー」 に変更します。これらの各項目についてですが、以下のようになります。
- リモートコマンド: ターゲットでの実行体のフルパスを記述
- 作業ディレクトリ: ターゲットで配置した実行体のフォルダパス
- リモートサーバー名: ターゲットのIPアドレスを記述
- 配置するディレクトリ: ターゲットに実行体を配置するフォルダパス。作業ディレクトリと同じもの設定が無難
- 配置するファイル: 実行体以外で転送したいファイルを列挙
これでビルド&実行の際に、リモートに必要なファイルが転送されて、即デバッグ開始できるようになります。
今までの一手間がずいぶんと楽になりました。VisualC++のデバッグランタイムもまた配置できるようで、わざわざスタティックリンク版を用意しなくてもよさそうなのも便利です。
その他
配置におけるプロセスですが、どのポートで通信してるかなと思ったら、 devenv からターゲットの 4016 ポートに向かって通信していました。 FW で引っかかるようだったらこのあたりを除外設定するとうまくいくかもしれません。
手元の環境では Norton Internet Security が入っていますが、上記の設定だけでうまく動作し、 FW の例外設定などは不要でした。