Stack Trace Logging
Configure the level of stack trace information shown in Unity's log files and console to help track down problems in your scripts.
読み終わるまでの所要時間 8 分最終更新 1ヶ月前
Unity コンソールのメッセージとログファイルには、詳細なスタックトレース情報を加えることができます。また、コンソールは、メッセージを生成したコードの行にリンクしています。これは、ログエントリーの原因となった行、メソッド、または一連の関数呼び出しを特定したい場合に便利です。
**ヒント:**コードを検査するもう一つの方法は、エディターまたはビルドしたプレイヤーにデバッガーを設定することです。
マネージコードとアンマネージコードのスタックトレース
Unity は、マネージコードとアンマネージコード両方のスタックトレース情報を提供します。
-
マネージコード: Unity で動作するマネージド DLL または C# スクリプトです。Unity に同梱されているスクリプト、独自に書いたカスタムスクリプト、アセットストアプラグインに含まれるサードパーティのスクリプト、その他エンジン内で実行される C# スクリプトが該当します。
-
アンマネージコード: ネイティブの Unity エンジンコード、またはマシン上やターゲットビルドプラットフォーム上で直接実行されるネイティブプラグインのコードを意味します。アンマネージコードは通常、C または C++ コードからコンパイルされます。ネイティブバイナリのオリジナルのソースコードを持っている場合のみ、アクセスすることができます。通常、アンマネージコードのスタックトレースは、エラーの原因が自分のコードかエンジンコードか、またエンジンコードのどの部分にあるかを判断する必要がある場合にのみ使用します。
Unity には 3 つのスタックトレースオプションがあります。
- Noneスタックトレース情報は出力されません。
- ScriptOnly: マネージコードのスタックトレース情報が出力されます。これは、デフォルトの設定です。
- fullマネージとアンマネージ、両方のコードのスタックトレース情報が出力されます。
スタックトレースリソース要件
スタックトレース、特に、完全なスタックトレースを解決することは、リソースの消費が多い操作です。スタックトレースを効率よく行うには、以下の方法があります。
- スタックトレースをデバッグにのみ使用します。スタックトレースを有効にしてアプリケーションをユーザーにデプロイしないでください。
- スタックトレースを表示するメッセージの種類を限定します。例えば、例外や警告に対してのみスタックトレースを使用することを検討するようにします。
スタックトレースタイプの設定
注意スタックトレースオプションはビルド設定であり、ビルドされたプレイヤーに影響します。これはエディターでの表示設定ではありません。
スタックトレースに含む詳細な情報を指定するには、スクリプトAPIまたはエディタを使用します。
-
スクリプティング API でスタックトレースのログを制御するには、Application.SetStackTraceLogType を使用します。この API を使用して、ビルド前または実行中のプレイヤーのスタックトレース設定を変更することができます。
-
コンソールを使用するには、コンソールのメニューボタンを選択してから、以下を行います。
- すべてのコンソールメッセージタイプに対して同じスタックトレースオプションを選択するには、Stack Trace Logging > All を選択します。
- 1 つのコンソールメッセージタイプだけにスタックトレースオプションを選択するには、Stack Trace Logging > [メッセージタイプ] を選択します。新しい設定でプレイヤーを再構築します。
-
Player 設定ウィンドウを使用するには、Edit > Project Settings > Player > Other Settings を選択します。新しい設定でプレイヤーを再構築します。

コンソールにおけるスタックトレースのログオプション。この例は、例外のオプションです。
スタックトレース出力からソースファイルを開く
メッセージの全文には、コードファイル内の特定の行へのリンクが含まれています。任意のリンクをクリックすると、統合開発環境 (IDE) で参照されているファイルが開きます。
ビルドしたアプリケーションの出力ログファイルを検索する
ビルドされたアプリケーションは、コンソールに出力されません。スタックトレースを見るには、アプリケーションのログファイルを使用します。