Visual Studio 2012でリモートデバッグ(msvsmon.exe)を使うと開発環境は不要で便利

program

あるパソコンのVisual Studioで作ったC#のアプリケーションが、別のパソコンやOSでは正常に動作しないことがあります。

例えば、以下のようにWindows 7で作ったC#のアプリケーションをWindows 10 Anniversary Updateが適用されたパソコンではエラーが出るようなケースです。

Windows Anniversary Update (1607) 適用後、Excel出力プログラムでComExceptionが発生
2016年8月2日、マイクロソフトからWindows 10の2回目の大型アップデート「Windows 10 アニバーサリーア...

このようなケースで、エラーの原因を突き止めるために、Windows 10のパソコンにVisual Studioなどの開発環境をインストールするのは大変ですね。

そんな時に便利なのが、Visual Studio のリモートデバッグ(Remote Debugger)機能です。

スポンサーリンク

Visual Studioのリモートデバッガーの使い方

Visual Studioのリモートデバッグ機能の概要は次の通りです。

ws000313

およその流れは次の通りです。

まず、ローカルPCでVisual Studioを使って、C#のアプリケーションをデバッグビルドします。

ビルド後に、その実行ファイル(exeファイル)をローカルPCからリモートPCにコピーします。

リモートPCに、Remote Tools for Visual Studio 2012 Update 4をインストールします。

Remote Tools for Visual Studio 2012 Update 4

Remote Tools for Visual Studio 2012 を使用すると、Visual Studio がインストールされていないコンピューターでリモート デバッグ、リモート テスト、およびパフォーマンス単体テストを行うことができます。

インストーラーは、ARM用、x64用、x86用と3種類あるので使用するパソコンに対応したインストーラーを使います。

VSU4\rtools_setup_arm.exe
VSU4\rtools_setup_x64.exe
VSU4\rtools_setup_x86.exe

これらのプラットフォームの違いは以下をご覧ください。

ARMとx86/x64の違い
プロセッサ(CPU)の話で必ず出てくる単語に「ARM」と「x86/x64」という単語があります。 これらは、プロセッサ...

リモートツールをインストール後にリモートデバッガー(msvsmon.exe)を起動します。

remote-debug

これで、リモートPCはデバッガーからアタッチされるのを待つ状態になります。

次に、リモートPCにて、ローカルPCからコピーした実行ファイルを実行します。

今度は、ローカルPCでVisual Studioから「デバッグ」⇒「プロセスにアタッチ」で表示されるダイアログで「修飾子」として、リモートPCを選択します。

もし、同じLANで接続できるようであれば、以下のように修飾子として一覧から選択できます。

もし、修飾子に表示されないようであれば、同じネットワーク上に存在しないなど接続上の問題が疑われます。

ws000305

このまま、リモートPCに資格情報を入力すると、アタッチ可能なプロセスの一覧が表示されるので、該当のプログラムを選択して「アタッチ」します。

これでローカルPCのVisual StudioからリモートPCの実行モジュールのステップ実行が可能となります。

Visual Studioのおすすめ本

私は、Visual Studio 2012をメインに使っていますが、いまやVisual Studio 2015がよく使われているようです。

おすすめできる書籍としては、以下の書籍があります。

作って覚えるVisual C# 2015 デスクトップアプリ入門

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

スポンサーリンク
スポンサーリンク
Translate »