BLOGブログ

2015.05.29UE4UE/ Debug

[UE4] Blueprint DebuggerでBPノードの実行順を表示しよう

改訂バージョン: Unreal Engine 4.21

今回は、UE4にある「Blueprint Debugger」というDebugToolを紹介したいと思います。

 

Blueprint Debuggerとは?

実行時、Blueprintのブレークポイントで処理を止めた時、「このカスタムイベントがどこから呼ばれているか知りたい!」と思ったことはないでしょうか? 特にプログラマーの人なら「コールスタックウィンドウがほしい!」と思ったことがあるのではないでしょうか。

このBlueprint Debuggerを使えば、呼び出されたノードの実行順が表示されるので、カスタムイベントや関数の呼び出し元を追いかけたり、各ノードの実行順を知ることができます。

 

ウィンドウの表示方法

手順:メニューのウィンドウ → デベロッパーツール → ブループリントデバッガーを選択すると表示されます。

Debugger_02

 

 

通常時はウォッチ中の値やブレークポイントのリストが表示される

このようなウィンドウが表示されます。

 

Levelと選択しているアクターが表示されます。それぞれ、ブレークポイントの置いてあるノードとウォッチしているノードを確認することでき、それぞれに対して操作を行うことができます。名前を左クリックするとそのノードに移動することができ、右クリックするとブレークポイントの有効/無効化や削除、ウォッチの場合は削除することができます。

 

実行中はノードの実行順が表示される

実行中は「実行トレース」という項目が追加で表示されます。

 

実行トレースには実行したノードが上から順に次々と表示されます。これにより実行順番がわかるようになっています。

ブレークポイントで止めた際にはこの実行トレースの内容も止まるので、カスタムイベントがどこから呼ばれたか、が分かります。通常ではBlueprintはシングルスレッドで実行されるため、基本的にカスタムイベントのノードの一つ前に書いてある場所から呼ばれていると思って間違いないでしょう。

 

補足

  • アンロードされたレベルや、すでに存在しないActorの情報はログから消えるようです。
  • 非実行時と同じく、ブレークポイントと変数のウォッチはアウトライナーで選択中のActorのものが表示されます。