やる気駆動型エンジニアの備忘録

WPF(XAML+C#)の話題を中心に.NET/Android/CI やたまに趣味に関するブログです

Visual Studioのリモートデバッグ方法メモ

Visual Studioのリモートデバッグ機能を初めて使ったのでメモ

リモートデバッグ機能とは?

リモートデバッグとは、例えば客先から受領している端末上で実行しているアセンブリに対してブレークポイントやステップ実行するための機能です。
詳細は以下のページを参照してください。

リモート デバッグ

使い方

適当にググれば出てくるのですが、一番わかりやすかったのは以下のページでした。

ネットワーク経由でのリモート ユーザーモード デバッグ – Japan WDK Support Blog


と、ここまでですんなり実行できるのかと思いきやいくつかハマりました。
ちなみに実行環境は"Visual Studio2015"のWPF アプリケーションです。

Visual Studio2015 で開発していたのですが、リモートデバッグ ツールのページは404になっています…
以下のページからダウンロードしましょう。

qiita.com

  • 実行フォルダがホストとリモートで同じでなければならない

これは上記MSDNページにも記述されていますが、開発用環境とリモート環境でアセンブリの配置フォルダ パスが同一である必要があります。
私の環境はDドライブ上で実行していたので最初は実行に失敗しました。
仕方なくプロジェクトの[プロパティ] - [ビルド] - [出力パス] をCドライブに変更しました。

  • 毎回実行ファイルをコピーする必要がある

仕方ないことなのですが、実行環境にビルドしたアセンブリを毎回配置する必要があります。
最初はUSBメモリを使用してコピーしていたのですが、面倒なのでリモート環境に共有フォルダを作成しました。
そして、上記の出力パスを共有フォルダに設定することでアセンブリ コピーの手順が不要になりました。
つまり、以下のようなイメージ

Before
f:id:iyemon018:20171205185628p:plain

After
f:id:iyemon018:20171205185630p:plain

これで毎回、開発用PCと同じ感覚でデバッグすることが可能になりました。
リモートの設定は環境に依存するため、リモート デバッグ用の構成を追加しておくのがベターだと思います。

実行環境にリモートツールをインストールしたりネットワークに接続したりといくつか条件はありますが、実行環境でしか発生しない不具合もあるため条件さえ合致すれば有用なデバッグ方法だと思いました。
ただ、この仕組み上、複数人で同時にリモートデバッグを行うといった方法を取ることはできないでしょう。