🥽
HoloLens2 デバッグ
HoloLens2 でのデバッグ方法整理
HoloLens2の開発で、常にHoloLens2に焼いて動かすということを繰り返していると、ビルド時間が長く、開発スピードが上がらない。デバッグ方法を整理しておく。
素早くデバッグ Holographic Remoting
Holographic Remoting を使用すると、ビルドすることなく、デバッグを行うことができる。
ビルドした場合との動作の違いはありそう(確認していく)。
設定手順
- HoloLens2のWiFi接続をOFFにする
- HoloLens2をUSBでPCに接続する
(WiFiでもできるがUSB接続し、WiFiをOFFとした方が早く、性能も良いらしい) - HoloLens2でHolographic Remotingを起動する
- Unityでメニューの Window > XR > Hologlaphic Emulation を選択する
- HoloLens上のHolographic Remotingに表示されるIPアドレスを指定し、Connectする
- Unityのプレイボタンをクリック
動作
- ログ出力 : Unityのコンソール上で確認可能
- ステップ実行 : 可能
- 動作 : ビルド時との違いは確認必要
まずはこの方法で動作確認し、ビルドした後での動作確認は以下で行う。
デバッグ実行でDebug.Log確認
ビルドした場合のデバッグ方法として、デバッグログだけ確認したいケースでは、Visual Studioにてデバッグ実行する。
設定手順
- Unityでビルドする
- Visual Studioでslnファイルを開く
- HoloLens2をUSBでPCに接続する (WiFiでの実行でも良い)
- Visual StudioでDebug実行する
動作
- ログ出力 : Visual Studioの出力ウィンドウで確認可能。ただし、少し見づらい。
- ステップ実行 : IL2CPPで変換されたソースでブレークポイントを設定することはできるが、あまり使いどころはないと思われる。
- 動作 : Releaseビルドよりはビルドに時間がかかる
Development Buildでビルド版でステップ実行
HoloLensでビルド版を実行しつつ、ステップ実行できる。
以下、参考にさせてもらいました:
HoloLensでも利用可能なIL2CPP Managed Debugger
設定手順
- PCのファイアウォールの設定を変更する。「受信の規則」で「パブリック」「Microsoft Visual Studio 2019」「UDP」の規則を有効にする。アプリケーションとVisualStudioはUDPでデータを受け渡しするため。
- UnityのProject Settingにて、Publishing Setting / Capabilities の以下を有効にする
- InternetClientServer
- PrivateNetworkClientServer
- 以下のようにUnityのBuild設定で「Development Build」「Script Debugging」、「Wait For Managed Debugger」を有効とし、ビルドする
- ビルド結果のslnをVisual Studioで開く
- Visual StudioでDebug実行し、HoloLensに焼く
- HoloLensで「You can attach a managed debugger now if you want」と表示される
- デバッグ対象のスクリプトをVisual Studioで開く
- Visual Studioで「Unityデバッガーのアタッチ」を選択する
- HoloLensが表示されるので選択し、アタッチする
動作
- ログ出力 : アタッチしたVisual Studio上では表示されない。(おそらく、ビルドに使用するVisual Studioでは表示される。)
- ステップ実行 : 可能!
- 動作 : ビルドから実行まで結構時間がかかる。動作自体も遅い。
Discussion