パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

リモートデバッグ

開発環境(VisualC++)がインストールされた開発PCでは動くが、テスト用のPCでは動かない場合、リモートデバッグするとテスト用のPCで動かしながら IDE統合開発環境)でデバッグできる。これは便利。VisualStudio2005 から msvcmon.exe が GUI で操作可能になったし(2005 からは msvsmon.exe になっているので注意!)。

で、今回は、さらに超リモートデバッグ(?)してしまった。
つまり自宅から VPN で職場の PC にリモートデスクトップ接続でログインして、そこで IDE を動かしつつ、自宅 PC をテスト用のターゲットマシンにしつつデバッグというものである。

まずは、自宅の PC にリモートデバッグのための msvcmon.exe 諸々をコピー。この辺、ちょっとライセンス的に気になるが... で、msvcmon.exe を起動しておく。なんかローカルポリシーが云々というウォーニングが出るが... ひとまず無視。後、Vista だと設定がいまいちわからなかったので、ファイヤーウォールを切ったり、管理者権限で動かしたり、少々セキュリティが低い状態で作業した。丁寧に設定すりゃ大丈夫だとは思うが。msvcmon.exe のセキュリティも認証無しにしたり。

で、職場 PC の IDE で プロセスにアタッチ。VPN 接続で割り当てられた自宅PC の IP アドレス : 4025 で接続(認証無し)。自宅 PC のプロセス一覧が出れば成功。もしかすると、職場 PC において、コマンドプロンプトから route add しないといけないかも。自宅 PC に割り当てられた IP アドレス 192.168.1.A, ゲートウェイが 192.168.1.G, とすると route add 192.168.1.A mask 255.255.255.255 gateway 192.168.1.G metric 10 みたいな感じ。職場 PC から 自宅 PC が、ルータ経由で無いと届かないことを教えないといけないかも知れないので。ていうか、リモートデスクトップでつながっている時点で大丈夫か。

後は、ローカルでデバッグと違って、いろいろと反応が鈍い。まず、リモートのプロセスにアタッチしてからターゲットのプログラムが動けるようになるまで。色々な情報を送っているようだ。後、ステップ実行も一つ一つに時間がかかる。デバッグのポイントが絞れて無いとちょっと厳しいかも。

まぁ、でもこんなこともできるなんて世の中進んでるなぁ。日頃使っているツールも、もっと凄い機能があるかもしれない。