概要
Mass Debugger ツールは、エンティティ フラグメント データのリアルタイム検査、エンティティ固有のフラグメント アクセス ブレークポイント、ゲームプレイ デバッガの統合、プロセッサ検査の改善など、多くの新機能によって大幅に改善されました。
Mass Debugger を使用する
Mass Debugger を起動するには、エディタから [Tools (ツール)] > [Debug (デバッグ)] > [Mass Debugger] の順に選択します。 注:以前のバージョンの Mass Debugger を起動したことがある場合は、レイアウトをリセットしないと新しいタブが表示されないことがあります ([Mass Debugger] ウィンドウで [Window (ウィンドウ)] > [Reset Layout (レイアウトをリセット)] を選択します)。
UI ワークフロー
プロセッサのデータ アクセス オーバーラップを確認するには、次の手順に従います。
Mass Debugger を開きます。
環境ピッカーを使用して、検査する Mass ランタイム環境を選択します。
[Processors (プロセッサ)] タブを開きます ([Window] > [Processors])。
リストで検査するプロセッサを見つけます。
プロセッサのエントリにある [Show Fragment Access (フラグメント アクセスを表示)] ボタンをクリックします。
展開したプロセッサのエントリにある [Queries (クエリ)] リストのフラグメントをクリックします。
各プロセッサのアクセス状況に応じて、プロセッサの色が変化します。 緑色は読み取り (定数) アクセス、赤色は書き込み (可変) アクセスを示します。
Mass Debugger を使用して、アクティブな環境を選択した状態でエンティティのフラグメント データを検査するには、次の手順に従います。
[Entities (エンティティ)] タブを開きます ([Window] > [Entities]、またはデバッガ UI のコンテキスト メニューにある [Show Entities (エンティティを表示)] ボタンを使用します)。
[Select Fragments (フラグメントを選択)] ドロップダウンをクリックして、検査するフラグメントを確認します。
注:フラグメントのリストは、リストされたエンティティの構成によって異なります。
注:UPROPERTY としてマークされている選択したフラグメント構造体のメンバー変数のみが表示されます。 その他のエディタ可視性メタデータは必要ありません。
特定のエンティティについて、特定のフラグメントの書き込みブレークポイントを設定するには、次の手順に従います。
目的のエンティティのフラグメントデータを [Entities] タブに表示します。
[Set Write Breakpoint (書き込みブレークポイントを設定)] ボタンをクリックします。
注:ブレークポイントは MassExecutionContext::EntitiyIterator の EntityIterator コードでトリガーされます。 このイテレータ、またはそのイテレータのラッパーを使用するコードのみが、この方法でブレークポイントをトリガーできます。 通常、トリガーするコードはコールスタックの 2 つまたは 3 つ上のレベルにあります。
IDE からブレークポイントをクリアして実行を再開するには、IDE のウォッチ機能を使用して、bDisableThisBreakpoint 変数を「true」か「1」に設定します。
選択したエンティティに対して、指定したフラグメントの書き込みブレークポイントを設定するには、次の手順に従います。
[Fragments (フラグメント)] タブを開きます。
目的のフラグメントを見つけます。
選択したエンティティの書き込みを中断するボタンをクリックします。
[Entities] タブかゲームプレイ デバッガ ツール (コンソール コマンド「EnableGDT」) を使用してエンティティを選択します。
制限事項
ブレークポイント機能は Visual Studio 2022 でのみテストされており、他の IDE ではサポートされない可能性があります
ブレークポイントは、エンティティのイテレーションに MassExecutionContext::CreateEntityIterator を使用するコードに対してのみ機能します
フラグメントの検査には UPROPERTY RTTI が必要なため、UPROPERTY でマークされたメンバー変数のみが表示されます