本記事はUWP(Universal Windows Platform)の入門記事第4回です。
今回は、作成したアプリケーションを色々な環境で実行する方法について紹介します。アプリケーションの開発(Hello World)については第3回などを参考にしてください。
デバッグ機能の詳細や、エミュレーターの機能などは別の回で行います。
本記事では以下のことが学習できます。
・PC(実機)によるデバッグ
・PC(実機)のリモートデバッグ
・PC(シミュレーター)によるデバッグ
・Mobile(実機)によるデバッグ
・Mobile(エミュレーター)によるデバッグ
・IoT(Raspberry Pi 2)によるデバッグ
Xbox Oneへのデバッグについては「入門008:XboxOneでデバッグする」を参照ください。
本記事は以下の環境を前提としてます。
・Windows 10 OS(Pro以上)
・Visual Studio 2015(+UWP SDK)
また実機でのデバッグには、それぞれの実機が必要となります。
PC実機でのデバッグは現在開発に利用しているPCでアプリケーションを実行します。
別のPCでデバッグすることも可能ですが、こちらは「PC(実機)のリモートデバッグ」で説明します。
PC実機でのデバッグを行うためにはPCの設定で「開発者モード」に設定する必要があります。
開発者モードの設定はPCの「設定」から行います。

「設定」はPCのWindowsキーで表示するメニューから起動できる
「更新とセキュリティ」メニューの「開発者向け」タブをクリックします。


「開発者向け」タブから「開発者モード」を選択します。
これは開発しているPCとは別のリモートPCにデバッグする際のリモートPCでも必要な設定です。
開発者モードに設定した後はVisual Studioデバッグ設定を行います。
Visual Studioのツールバーの「デバッグ」を以下の画像のように設定してください。
デバッグ設定32bitOSの場合は「x64」ではなく「x86」を選択してください。
この状態で上記「デバッグ」ツールバーの「ローカルコンピューター」をクリックすれば実機PCでアプリケーションが実行されます。
また、以下の方法でもデバッグは実行できます。
・Visual Studioがアクティブな状態でF5キーを押す。
・ツールバーの「デバッグ」メニューから「デバッグの開始」を選択する。

・ソリューションエクスプローラーのプロジェクト名を右クリックから「デバッグ」→「新しいインスタンスを開始」を選択する。

デバッグは以下の方法で終了できます。
・ツールバーのデバッグ停止ボタンを押す。
![]()
・アプリケーションを終了する
・F5+Shiftキーを押す
・ツールバーの「デバッグ」メニューから「デバッグの停止」を選択する。

開発機とは異なるPCでアプリケーションをデバッグ実行することができます。
開発機がパワフルなPCだが、別のスペックの低いPCでアプリケーションを動かしてみたい場合や、タブレットでアプリケーションをテストする場合などに利用できます。
リモートデバッグするPCは同一ネットワーク内に存在している必要があり、UWP開発の場合はリモートPCもWindows 10である必要があります。
以下、開発を行っているVisual Studioを立ち上げているPCを転送元、アプリケーションを動かすリモートPCを転送先と表記します。
まず転送元のVisual Studioのデバッグ設定を以下のように変更します。
![]()
ローカルコンピューターではなく、リモートコンピューターに変更しました。
この際に以下のような「リモート接続」ポップアップウィンドウが表示されます(リモート先が未設定の場合)。

上記画像では「自動検出」の欄にリモートPCが検出されていますので、この場合はそれを選択します。
もし、自動検出で表示されない場合は「アドレス」欄に転送先PC名または転送先PCのIPアドレスを入力し、認証モードをWindowsに設定します。
「リモート接続」ウィンドウが表示されない場合は、ソリューションエクスプローラーのプロジェクト名を右クリック→「プロパティ」の「デバッグ」タブからリモートPCの設定を行うことができます。

続いて転送先のPC側で、リモートデバッガーを起動します。
リモートデバッガーはVisual Studio 2015をインストールした場合デフォルトで以下のフォルダに配置されています。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger
今回は64bitOSを想定しているので、この下のx64フォルダーにあるmsvsmon.exeを起動します。

Visual Studioがインストールされていない場合は、「Remote Tools for Visual Studio 2015」をインストールしてください。

この状態で転送元PCのVisual Studioからデバッグを行えば、転送先のPCでアプリケーションが起動し、デバッグが開始されます。
Visual Studioのデバッグ操作については上記「PC実機へのデバッグ」項目を参照ください。
PCのシミュレーターによるデバッグも可能です。
シミュレーターは実機にリモートデスクトップ接続しているような挙動をしますが、以下の画像の右側にあるアイコンから「解像度の変更」「画面の回転」「タッチ操作」「スクリーンショット」などを取ることができます。これらは、デスクトップPCでタブレットの縦持ち、横持ちや、タッチ操作などをテストしたい場合に便利です。

シミュレーターによるデバッグはVisual Studioのデバッグ構成を以下のように変更します。
![]()
これでシミュレータでのデバッグができます。
Visual Studioのデバッグ操作については上記「PC実機へのデバッグ」項目を参照ください。
Windows Phone(Mobile)実機でデバッグする方法を紹介します。
Windows PhoneはOSがWindows 10 Mobileが必要です(本記事執筆時点ではWindows 1o MobileはPreview段階です)。
Windows Phone実機でのデバッグには実機を「開発用アンロック」する必要があります。開発者アンロックについては以下の記事で紹介しています。
(参考)ユニバーサルWindowsアプリ(Pre)入門002:Windows Phoneでデバッグする
開発者アンロックを済ませてWindows PhoneをUSBでPCと接続します。
Visual Studioのデバッグ構成を以下のように設定します。
![]()
これでUSB接続したWindows Phone実機でデバッグできます。
Visual Studioのデバッグ操作については上記「PC実機へのデバッグ」項目を参照ください。
開発PC上でWindows Phoneのエミュレータを起動してデバッグ実行することができます。

注意:シミュレーターはHyper-Vを利用した仮想OSとして起動しますので、Hyper-V非対応なCPUでは利用できません(最近のPCだと大丈夫だと思いますが、Windows 10のビルド番号によってはHyper-V上ではシミュレーターが利用できません。Build10565以上で仮想環境のネストが可能になったので、できるはず・・・今度検証します)。
シミュレーターで実行するにはVisual Studioのデバッグ構成を以下のように変更します。
![]()
「Mobile Emulator ・・・」の「・・・」以下の文字列はWindows 10 Mobileのビルド番号や画面サイズ、メモリサイズ情報なのでテストしたい環境を選んでください。

この設置でデバッグするとエミュレーターが起動しデバッグが可能です。
またPCのシミュレーター同様右側のアイコンで回転などの動作が確認できます。また、「>>」アイコンからさらに詳しい設定も可能です。

エミュレーターについては別の回で詳しく解説します。
最後にIoTデバイスにアプリケーションを転送してデバッグする方法を紹介します。
今回はRaspberry Pi 2を例にしますが、Windows 10 IoTが搭載されたデバイスであれば同様に動作可能です。
Raspberry Pi 2にWindows 10 IoTをインストールする方法については以下を参照ください。
(参考)Raspberry Pi 2にWindows 10 IoT Core Insider Previewをインストールしました
Windows 10 IoTをインストールしたRaspberry Pi 2を起動し、転送元のPCと同一ネットワークに置きます。
Visual Studioのデバッグ構成を以下のように設定します。
![]()
リモートPCへのデバッグ同様にリモート設定を行います。

リモートコンピューターの項目はIoTデバイス名またはIPアドレス。認証モードは「なし」にします。
これでRaspberry Pi 2でのデバッグが可能です。
Visual Studioのデバッグ操作については上記「PC実機へのデバッグ」項目を参照ください。
今回は、様々な環境へのデバッグ方法について紹介しました。
今後Windows 10が動作するプラットフォームが増えると更に多くの環境でデバッグ転送が可能になると思うと、UWPの可能性を感じますね。
次回は、UWPのプロジェクトの構成を解説しながら、UWPの仕組みについて紹介していきます。
Please give us your valuable comment