search
LoginSignup
30

More than 3 years have passed since last update.

posted at

updated at

Visual Studio を使ったリモートデバッグのやり方

2019年09月20日追記

「Visual Studio 2019」でも同様の方法でリモートデバッグできました。インストールするツール群を2019に置き換えて実施して下さい。

概要

手元のPCでは動いたけどいざ本番環境のPCでは動かない!本番環境のPCでデバッグしたい!といった時はリモートデバッグが便利です。
ですが、デバッグビルドしたアプリをリモートPCに配置する際にローカルと同じパスを再現する必要があり、少しとっつきにくいです。
そこで、プロセスをアタッチする方法で行うリモートデバッグがようやく自分の環境でできるようになったのでそのやり方を解説します。

リモートPCの環境を整える

まずは「Remote Tools for Visual Studio 2017」をダウンロードします。下記リンクの下部にダウンロードボタンがあるので、32bitか64bitを選択してダウンロードしてください。ここで選ぶのはリモートPCと同じものです。
https://www.visualstudio.com/ja/downloads/?q=Remote+Tools+for+Visual+Studio+2017

次に、「Visual Studio 2017 の Microsoft Visual C++ 再頒布可能パッケージ」が必要なのでそれもダウンロードします。ここでも32bitか64bitを選択するのですが、ここで選ぶのはデバッグしたいアプリケーションと同じものです。
PCが64bitでもビルドしたアプリが32bitの場合は32bitを使用します。
https://www.visualstudio.com/ja/downloads/?q=Visual+Studio+2017+%E3%81%AE+Microsoft+Visual+C%2B%2B+%E5%86%8D%E9%A0%92%E5%B8%83%E5%8F%AF%E8%83%BD%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8

上記2つをリモートPCにインストールして下さい。

リモートデバッガーの初期設定

最初にリモートデバッガーの初期設定を行います。リモートPCで「Remote Debugger Configuration Wizard」を起動します。

ここはそのまま「次へ」を選択
2.png

ファイアウォールの設定です。上2つにチェックが入っていれば問題ないと思います。
3.png

これで設定は完了です。
では「Remote Debugger」を起動しましょう。この画面が開いていれば待機状態です。
4.png

アプリの配置

Visual Studioでデバッグビルドを行い、Debugフォルダを丸ごとリモートPCにコピーして起動しておきます。

プロセスにアタッチ

Visual Studioを開き、デバッグプロセスにアタッチ をクリックします。
接続先の欄に、[リモートPCのIPアドレス]:4022 と入力して「検索」ボタンを押して下さい。
5.png

ポート番号はRemote Debuggerの既定の設定ですが、変更した場合はそちらのポートを使用して下さい。正常に接続できるとRDPと同じようにユーザー名とパスワードが聞かれるはずです。
正常に接続できると、リモートPCのプロセスがずらっと出てきます。その中で起動しておいたアプリケーションを選択し、「アタッチ」ボタンを押して下さい。

すると、ローカルPCでデバッグした時と同じような感じに切り替わると思います。これでリモートデバッグが開始されました。ブレークポイントを打ってみると、きちんと止まるはずです。
欠点として、コード修正するたびにビルドしたものをリモートPCに配置する必要がありますが、出力先を共有ストレージなどに設定しておくと少し楽になるかと思います。

プロジェクトのプロパティより、ビルドを選択し、出力パスを、リモートPCに用意した共有フォルダに設定すれば自動で配置されます。配置されたアプリケーションを起動し、プロセスにアタッチすれば大丈夫です。

他の開発者さんのデバッグに少しでも役に立てれば幸いです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
30