embeddedなブログ

組み込みシステムに関することや趣味に関することをダラダラと書いていきます(^^)

Windows タブレット上で動作するアプリのリモートデバッグ(Visual Studioによるリモートデバッグ方法)

2015-03-21 12:05:35 | Windows Embedded Standard

Windows 8タブレット上で動作させるアプリをデバッグしなくてはいけないケースがあると思います。ストレージやメモリなどが十分なx86系のタブレットであれば直接Visual Studioをインストールしてデバッグも可能ですが、通常はタブレットにVisual Studioをインストール出来ないケースの方が多いと思います。そのような時に役に立つのがVisual Studioのリモートデバッグ機能です。イメージ的には下図のようになります。 イメージ的にはWindowsタブレット側のリモートデバッグモニターを経由してWindowsタブレット上のアプリをリモート(ネットワーク経由)でデバッグします。

まずはWindows 8タブレットとWindows 8 PCを同じサブネットに接続した状態で準備します。最初に、Windows 8タブレットでリモートデバッグモニターを動かすための準備をします。

リモートデバッグモニターはWindows 8リモートツールをインストールして利用します。 Windows 8 リモート ツール はMSDNサブスクリプションページからダウンロードします。プロダクトキーも不要で無料で利用できます。以下のセットアップ プログラムが提供されていますので、デバッグ対象となるハードウェア環境に適したものをダウンロードしてください。

  • x86用
    Remote Tools for Visual Studio 2013 Update 4 (x86) - (Japanese)
  • x64用
    Remote Tools for Visual Studio 2013 Update 4 (x64) - (Japanese)
  • ARM用
    Remote Tools for Visual Studio 2013 Update 4 (ARM) - (Japanese)

今回は、Windows RTを搭載したMicrosoft Surfaceで試してみたので、Remote Tools for Visual Studio 2013 Update 4 (ARM) - (Japanese)をダウンロードして実行しました。ダウンロードしたja_remote_tools_for_visual_studio_2013_update_4_arm.exe をタブレット上で実行します。

 

ライセンス条項に同意してインストールを開始します。

 インストールが完了したらスタート画面に登録されたRemote Debugger(リモートデバッガー)を実行します。

初めてリモートデバッガーを実行すると下図のような[リモートデバッグの構成]ダイアログが表示されます。

環境やセキュリティ事情に応じて適宜設定を変更します。ここではすべてデフォルト値のままで進みます。[リモートデバッグの構成]ボタンをクリックします。途中で開発者ライセンスの取得が必要となる場合がありますので、適宜Microsoftアカウントを用いてライセンスの取得をします。下図のような[Visual Studioリモートデバッグモニター]が起動すればリモートデバッグの準備完了です。

 Windowsタブレット上での準備はこれで完了です。次はVisual Studioの入ったWindows 8 PC上での作業に移ります。Visual Studioにて[ファイル]-[新規作成]-[プロジェクト]で新しいプロジェクトを作成します。ここでは、C#のハブアプリケーション(ユニバーサルアプリ)を作成します。[新しいプロジェクト]画面で[Visual C#]-[ストアアプリ]-[ユニバーサルアプリ]にて[ハブアプリケーション(ユニバーサルアプリ)]を選択して、適当なプロジェクト名とフォルダを指定してOKをクリックします。

それでは、リモートデバッグの設定を行います。まず、ソリューションエクスプローラーにて下図のように作成したプロジェクトを選択して、メニューにて[プロジェクト]-[HubApp1(作成したプロジェクト名)]を選択して、プロジェクトのプロパティを開きます。

開いたプロジェクトのプロパティ画面にて[デバッグ]タブを選択します。そして、[ターゲット デバイス]で[リモートコンピューター]を選択します。その状態で[検索]ボタンをクリックします。

サブネット上でリモートデバッグモニターが起動したタブレットが検索されます。対象となるタブレットのコンピュータ名が下図のように表示されるはずです。

表示されたタブレット名をクリックするとタブレットのIPアドレスなどの詳細情報が表示されます。対象となるタブレットの[選択]ボタンをクリックします。

下図のように[リモートコンピューター]に対象となるタブレットの情報が表示されていることを確認します。

これでWindows 8 PC側、タブレット側共にリモートデバッグの設定は完了です。

それでは、実際にデバッガーを動作させてみます。正しくデバッガーが動作していることを確認するためにブレークポイントを設定します。今回は、下図のようにHubPage.xaml.csのHubPageコンストラクタ(HubPage())内にブレークポイントを設定し、ハブアプリケーション起動時のハブページ作成時にブレークするようにします。ブレークポイントを設定後、下図上部で赤丸に囲んでいる部分のようにデバッグ対象を[リモートコンピューター]に設定します。設定後、[F5]をクリックしてデバッグを開始します。

ターゲットとなるタブレット側で開発者ライセンスの取得が完了していない場合は下図のようなダイアログが表示されるので、タブレット側で開発者ライセンスを取得します。

うまくタブレット側でアプリが実行されると、タブレットで下図のようにアプリの起動画面が表示されるはずです。

この画面が表示されたタイミングでWindows 8 PC側のVisual Studioではブレークポイントで停止し、下図のような状態になるはずです。

これで正常にデバッガーが動作されていることが確認できました。[F5]をクリックしてデバッグを再開すると、下図のようにタブレット側にてユニバーサルアプリの起動が完了します。

これでリモートデバッグの動作確認が完了しました。意外と簡単にリモートデバッグを実現できることが確認できました。Windows Embedded Compact系でKITLのリモートデバッグを設定するときにはいろいろとトラブルが発生して、なかなか一筋縄ではいかないのですが、さすがにWindows 8環境ではなんのトラブルもなく、あっさりと設定から実行まで出来ました。


最新の画像もっと見る