リモートデバッグとは
別のコンピューターに配置されている Visual Studio アプリケーションをデバッグすることができます。
実行環境は本番PCで、デバッグは開発PCで。手間も大してかからない。
手順
詳しくは下記URL参照
実施例
環境
開発PC:Windows 10、Visual Studio 2015 Pro、IP:192.168.0.1/255.255.255.0
本番PC:Windows Server 2019、IP:192.168.0.2/255.255.255.0
ハブ経由で接続
C#アプリで確認。.Net Framework 4.6.2
やったこと
- 開発PCでmsvsmon.exeがあるフォルダ(
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger\x64\
)を共有フォルダに設定 - 本番PCで↑の
msvsmon.exe
を実行 - 本番PCでデスクトップに
RemoteTest
フォルダを作成して共有フォルダに設定 - 開発PCのVisualStudioでプロジェクトのプロパティを設定
ビルド
出力パス:\\192.168.0.2\RemoteTest\
デバッグ
リモートコンピュータを使用する:192.168.0.2
- デバッグ実行(本番PCのアカウント・パスワードが必要)
生じたトラブル
デバッグの実行でエラーが出る
プラットフォームターゲットとmsvsmonを合わせたら実行できた
x86\msvsmon.exe、プラットフォームターゲットx86:実行できた
x86\msvsmon.exe、プラットフォームターゲットx64:エラー「この要求はサポートされません」
x64\msvsmon.exe、プラットフォームターゲットx86:エラー「デバッグ対象とデバッガーが互換性のないプラットフォームにあるので、操作に失敗しました」
x64\msvsmon.exe、プラットフォームターゲットx64:実行できた
変数の参照ができない
Visual Studioのツール→オプション→「デバッグ:全般」の「従来のC#およびVBの式バリュエータを使用する」にチェック で参照できるようになった