デバッグ ツールの概要

このガイドでは、エンジンで利用可能なデバッグツールの概要を説明します。

Godotには、バグの追跡、実行時のゲームの検査、重要なメトリックの監視、パフォーマンスの測定を行う強力なデバッガーとプロファイラが付属しています。また、実行中のゲーム内のコリジョンボックスとナビゲーションポリゴンを視覚化するオプションも提供します。

最後に、リモートデバイスで実行されているゲームをデバッグし、ゲームの実行中にシーンまたはコードへの変更を再ロードするオプションがあります。

デバッグメニューオプション

エディタでゲームを実行するときにオンとオフを切り替えることができるいくつかの一般的なデバッグオプションがあり、ゲームのデバッグに役立ちます。

これらのオプションは、エディタの デバッグ メニューにあります。

../../_images/overview_debug.png

オプションの説明は次のとおりです:

リモートデバッグでデプロイ

エクスポートおよびデプロイするとき、結果として生成される実行可能ファイルは、デバッグのためにコンピューターのIPに接続しようとします。

ネットワークファイルシステムでスモールデプロイ

このオプションは、リモートデバイス上で大きなフットプリントを持つゲームのテストを高速化します。

ネットワークファイルシステムでスモールデプロイ がオンの場合、ゲーム全体をエクスポートする代わりに、ゲームをデプロイすると最小限の実行可能ファイルがビルドされます。その後、エディタはプロジェクトからネットワーク経由でファイルを提供します。

また、Androidでは、デプロイを高速化するためにUSBケーブルを使用してゲームがデプロイされます。

コリジョン形状の表示

このオプションは、実行中のゲームでコリジョンシェイプとレイキャストノードを表示します。

ナビゲーションの表示

ナビゲーションメッシュとポリゴンは、実行中のゲームに表示されます。

シーンの変更を同期

このオプションを使用すると、実行時にエディタでシーンに加えた変更が即座に表示されます。デバイスでリモートで使用する場合、これはネットワークファイルシステムで使用すると、より効率的です。

スクリプトの変更を同期

保存されたスクリプトは、実行中のゲームにリロードされます。デバイスでリモートで使用する場合、これはネットワークファイルシステムで使用すると、より効率的です。

スクリプトエディタのデバッグツールとオプション

スクリプトエディタには、ブレークポイントと2つのオプションで使用するための独自のデバッグツールセットがあります。ブレークポイントツールは、デバッガの[デバッグ]タブにもあります。

../../_images/overview_script_editor.png

ブレーク ボタンは、ブレークポイントのようにスクリプトを中断します。実行を継続 は、ブレークポイントで一時停止した後にゲームを続行します。ステップオーバー はコードの次の行に進み、ステップイン は可能であれば関数に入ります。それ以外の場合、ステップオーバー と同じことを行います。

[デバッガを開いたままに]オプションは、シーンが閉じられた後もデバッガを開いたままにします。また、外部エディタでデバッグオプションを使用すると、外部エディタでゲームをデバッグできます。

デバッグプロジェクトの設定

プロジェクト設定には、異なるものを制御する3つのサブカテゴリを持つ Debug カテゴリがあります。

Settings

これらは、現在のFPSを Output パネルに出力するなどの一般的な設定、プロファイリング時の関数の最大量などです。

GDScript

これらの設定により、未使用の変数など、特定のGDScriptの警告を切り替えることができます。警告を完全にオフにすることもできます。

Shapes

Shapesは、コリジョンシェイプやナビゲーションシェイプなど、デバッグ目的でのみ表示されるシェイプの色を調整できる場所です。

デバッグツール

デバッガは下のパネルにあります。 [デバッガ]をクリックして開きます。

../../_images/overview_debugger.png

デバッガはいくつかのタブに分割され、各タブは特定のタスクに焦点を当てています。

デバッガ

デバッガタブは、GDScriptコンパイラーがコードのブレークポイントに達すると自動的に開きます。

これは、stack trace、オブジェクトの状態に関する情報、およびプログラムの実行を制御するボタンを提供します。

右上のボタンを使用して、次の操作を行うことができます:

  • すべてのブレークポイントをスキップします。これにより、将来のデバッグセッションのためにブレークポイントを保存できます。
  • 現在のエラーメッセージをコピーします。
  • ステップイン。このボタンを使用すると、次のコード行に移動し、そこが関数の場合は、関数内を1行ずつステップ実行します。
  • ステップオーバー。このボタンはコードの次の行に移動しますが、関数を1行ずつステップ実行しません。
  • ブレーク。このボタンは、ゲームの実行を一時停止します。
  • 実行を継続。このボタンは、ブレークポイントまたは一時停止後にゲームを再開します。

エラー

これは、ゲームの実行中にエラーと警告メッセージが出力される場所です。

プロファイラー

デバッガには、プロセッサ、ネットワーク操作、およびビデオメモリ用の3つのプロファイラが付属しています。

プロファイラーは、個々のフレームが処理とレンダリングにかかる時間を示すために使用されます。

他のデバッグツールとは異なり、プロファイラーは自動的に起動しません。ゲームプレイ中に開始ボタンを押すといつでも開始できます。ゲームを開く前にプロファイラーを起動して、起動パフォーマンスをプロファイリングすることもできます。また、ゲームの実行中に、前回の実行時から情報を失うことなく開始および停止することができます。クリアをクリックするか、ゲームを閉じて再度開き、プロファイラーを再起動しない限り、記録された情報は消えません。

プロファイラーを起動および停止した後、左側に追跡されているもの、右側にグラフが表示されます。左側にリストされている項目はフレーム時間に寄与するすべてのものであり、また、それぞれに時間の値がを持ち、現在のフレームを呼び出している必要があります。

右上のフレーム番号は、現在見ているフレームを示します。これを変更するには、上矢印または下矢印を使用するか、フレーム番号を入力するか、グラフをクリックします。

グラフに何かを追加したい場合、または見た目が乱雑すぎると思われる場合は、アイテムの横にあるチェックボックスをオンまたはオフにして、グラフに追加または削除できます。

ネットワークプロファイラー

ネットワークプロファイラーには、マルチプレイヤーAPIを介して通信するすべてのノードのリストと、各ノードについて、着信および発信ネットワークインタラクションの量に関するカウンターが含まれています。また、任意の時点での総帯域幅使用量を表示する帯域幅メーターも備えています。

モニター

モニターは、ゲームの複数の側面をグラフ化したもので、FPS、メモリ使用量、シーン内のノード数など、ゲームの動作を示します。すべてのモニターは統計を自動的に追跡するため、ゲームの実行中にモニターを1つも開いていなくても、後で開いて値の変化を確認できます。

ビデオメモリー

[ビデオメモリー]タブには、実行中のゲームのビデオメモリ使用量とそれを使用するリソースが一覧表示されます。

その他

[その他]タブには、実行時にクリックしているコントロールノードを識別するツールが含まれています:

  • クリックされたコントロール は、クリックされたノードがシーンツリーのどこにあるかを示します。
  • Clicked Control Type は、クリックしたノードのタイプを示します。

シーンドックのリモート

エディタでゲームを実行すると、シーン ドックの上部に リモートローカル の2つのオプションが表示されます。リモート を使用している間、実行中のプロジェクトのノードのパラメーターを検査または変更できます。

../../_images/overview_remote.png

注釈

デバッグに関連するエディタ設定の一部は、エディタ設定Network -> Debug および Debugger セクションにあります。