HoloLens2 デバッグ

3 min read読了の目安(約2700字

HoloLens2 でのデバッグ方法整理

HoloLens2の開発で、常にHoloLens2に焼いて動かすということを繰り返していると、ビルド時間が長く、開発スピードが上がらない。デバッグ方法を整理しておく。

素早くデバッグ Holographic Remoting

Holographic Remoting を使用すると、ビルドすることなく、デバッグを行うことができる。
ビルドした場合との動作の違いはありそう(確認していく)。

設定手順

  1. HoloLens2のWiFi接続をOFFにする
  2. HoloLens2をUSBでPCに接続する
    (WiFiでもできるがUSB接続し、WiFiをOFFとした方が早く、性能も良いらしい)
  3. HoloLens2でHolographic Remotingを起動する
  4. Unityでメニューの Window > XR > Hologlaphic Emulation を選択する
  5. HoloLens上のHolographic Remotingに表示されるIPアドレスを指定し、Connectする
  6. Unityのプレイボタンをクリック

動作

  • ログ出力 : Unityのコンソール上で確認可能
  • ステップ実行 : 可能
  • 動作 : ビルド時との違いは確認必要

まずはこの方法で動作確認し、ビルドした後での動作確認は以下で行う。

デバッグ実行でDebug.Log確認

ビルドした場合のデバッグ方法として、デバッグログだけ確認したいケースでは、Visual Studioにてデバッグ実行する。

設定手順

  1. Unityでビルドする
  2. Visual Studioでslnファイルを開く
  3. HoloLens2をUSBでPCに接続する (WiFiでの実行でも良い)
  4. Visual StudioでDebug実行する

動作

  • ログ出力 : Visual Studioの出力ウィンドウで確認可能。ただし、少し見づらい。
  • ステップ実行 : IL2CPPで変換されたソースでブレークポイントを設定することはできるが、あまり使いどころはないと思われる。
  • 動作 : Releaseビルドよりはビルドに時間がかかる

Development Buildでビルド版でステップ実行

HoloLensでビルド版を実行しつつ、ステップ実行できる。
以下、参考にさせてもらいました:
HoloLensでも利用可能なIL2CPP Managed Debugger

設定手順

  1. PCのファイアウォールの設定を変更する。「受信の規則」で「パブリック」「Microsoft Visual Studio 2019」「UDP」の規則を有効にする。アプリケーションとVisualStudioはUDPでデータを受け渡しするため。
        
        
  2. UnityのProject Settingにて、Publishing Setting / Capabilities の以下を有効にする
         - InternetClientServer
         - PrivateNetworkClientServer
        
  3. 以下のようにUnityのBuild設定で「Development Build」「Script Debugging」、「Wait For Managed Debugger」を有効とし、ビルドする
        
  4. ビルド結果のslnをVisual Studioで開く
  5. Visual StudioでDebug実行し、HoloLensに焼く
  6. HoloLensで「You can attach a managed debugger now if you want」と表示される
  7. デバッグ対象のスクリプトをVisual Studioで開く
  8. Visual Studioで「Unityデバッガーのアタッチ」を選択する
        
  9. HoloLensが表示されるので選択し、アタッチする
        

動作

  • ログ出力 : アタッチしたVisual Studio上では表示されない。(おそらく、ビルドに使用するVisual Studioでは表示される。)
  • ステップ実行 : 可能!
  • 動作 : ビルドから実行まで結構時間がかかる。動作自体も遅い。