デコシノニッキ

デコシノニッキ

ホロレンジャーの戦いの記録

HoloLensでも利用可能なIL2CPP Managed Debugger

www.tattichan.work

UWPは今後、IL2CPPで開発することを余儀なくされるため開発フローについても考えねばなりません。
その一つがDebuggingで、Unityでは2018.2よりIL2CPP Managed Debuggerという仕組みが提供されています。

【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術

Unity 2018.2 におけるスクリプティングランタイムの改良 – Unity Blog

セットアップ

  1. ビルド設定から、Developmentを有効にし、続いてScriptDebuggingを有効にします。また、Wait For Managed Debugger も有効にしておきます。
    Wait For Managed Debuggerを有効にすると起動時にDebuggerをアタッチできるようになります。(後述)
    f:id:haikage1755:20181103042900p:plain:w350

  2. CapabilitiesからInternetClientServerを有効にします。Immersiveでデバッグしたい場合は、PrivateNetworkClientServerを有効にします。
    f:id:haikage1755:20181103043350p:plain:w350

  3. セキュリティ設定を行います。(※ 自己責任でお願いします)
    アプリケーションとVSはUDPでデータの受け渡しをします。先のCapabilitiesはそのためです。WindowsDefenderなどを利用している場合は通信を許可するようにファイアウォールの設定を変更する必要があります
    セキュリティが強化されたWindowsDefenderファイアウォール->受信の規則->MicrosoftVisualStudio2017(プロファイル:パブリック、プロトコルUDP)を開き、接続を許可する。

  4. Unityからアプリケーションをビルドし、続いてVSからもアプリケーションをビルドしてください。
    ※Unityからビルドしたソリューションを開いた際、追加のモジュールを要求される場合、インストールしてください。
    f:id:haikage1755:20181103052002p:plain:w350
    https://forum.unity.com/threads/hololens-uwp-w-il2cpp-backend-no-debug-targets-in-visual-studio-2017.548734/

  5. アプリケーションが起動すると、 Wait For Managed Debuggerを設定したことで、「You can attach a managed debugger now if you want」というメッセージが表示されるのでここで一度待機します。

  6. UnityからVSを立ち上げて、デバッグ->UnityDebugのアタッチからHoloLensが見つかることを確認します。
    f:id:haikage1755:20181103051147p:plain:w350
    f:id:haikage1755:20181103051327p:plain:w350

  7. OKを押したら、HoloLensに戻り、先のウィンドウを閉じます。するとアプリが立ち上がります。

  8. break pointを設定すれば下記のようにデバッグすることができます。
    f:id:haikage1755:20181103051702p:plain:w350

見づらいですが一連の流れです。

[デコシノニッキ]は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」