リモートデバッグを行う場合、デバッグしたいアプリケーションが実行されるPCで「msvsmon.exe」が実行されている必要がある。「msvsmon.exe」は Visual Studio 2019 自体をインストールするか、Remote Tools for Visual Studio 2019 をインストールしていると下記に存在しているはず。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Remote Debugger\x64\msvsmon.exe C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Remote Debugger\x86\msvsmon.exe
訳があってデバッグしたいアプリケーションが実行されるPCに「msvsmon.exe」をインストールできない場合はファイル、フォルダの共有機能を利用し、別のPCにある「msvsmon.exe」をデバッグしたいアプリケーションが実行されるPCから起動する。
環境
Visual Studio 2019(デバッグ対象のPCにもインストール済み)
Windows10 pro 64bit(デバッグ対象のPCも同様)
デバッグ対象のPCで x64\msvsmon.exe を実行する。
初回起動の場合、構成ウィンドウが出るので、ファイアウォールの構成を選んで「リモートデバッグの構成」をクリックする。
ファイアウォールの構成については管理者権限をもったコマンドプロンプトから次のコマンドで再設定可能。
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Remote Debugger\x64\msvsmon.exe" /prepcomputer /domain /private /public
有効にしたいものを「/domain」「/private」「/public」で指定する。指定が無いものは無効になる。
ただし、3種類とも記載しなかった場合はすべてが有効になる。
構成状態はセキュリティが強化された Windows Defender ファイアウォールの受信の規則から確認できる。
msvsmon.exe が実行できるとデバッガからの接続待ちになる。
認証モードの設定
ツール ー オプション から行う。ここではとりあえず、認証なし、すべてのユーザーにデバッグを許可するにする。
Visual Stodio から接続する
デバッグ ー プロセスへアタッチ から、接続の種類「リモート(認証無し)」、接続先にデバッグ対象のPCの名前やIPとポートを指定する。
デバッグ対象PCのプロセス一覧が表示されるのでこれで目的のプロセスにアタッチする。