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

シェアする

  • このエントリーをはてなブックマークに追加

program

 

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

 

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

 

Windows-10-logo-320x320
2016年8月2日、マイクロソフトからWindows10の2回目の大型アップデート「Windows10アニバーサリーアップデート(AnniversaryUpda...

 

このようなケースで、エラーの原因を突き止めるために、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

 

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

computer_cpu
プロセッサ(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 デスクトップアプリ入門

 

 

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

 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です