スタックトレース
Unity のログファイルとコンソールに表示されるスタックトレース情報のレベルを設定し、スクリプトの問題を追跡するのにヘルプます。
読み終わるまでの所要時間 8 分最終更新 3日前
Unity コンソール のメッセージとログファイルには、詳細なスタックトレース情報を含めることができます。コンソールは、メッセージを生成したコード行にもリンクします。これは、ログエントリーが表示される原因となった行、メソッド、または一連の関数呼び出しを識別する場合に便利です。
マネージコードとアンマネージコードのスタックトレース
Unity はマネージコードとアンマネージコードの両方のスタックトレース情報を提供できます。
-
**マネージコード:**Unity で実行されるマネージ DLL または C# スクリプト。Unity に同梱されているスクリプト、独自に作成したカスタムスクリプト、アセットストアプラグインに含まれているサードパーティのスクリプト、エンジン内で実行されるその他の C# スクリプトなどです。
-
**アンマネージコード:**ネイティブ Unity エンジンコード、またはマシン上やターゲットビルドプラットフォーム上で直接実行されるネイティブプラグインのコード。アンマネージコードは通常、C または C++ コードからコンパイルされます。ネイティブバイナリの元のソースコードがある場合にのみアクセスできます。通常、アンマネージコードにスタックトレースを使用するのは、エラーの原因がコードにあるのかエンジンコードにあるのか、またエンジンコードのどの部分にあるのかを判断する必要がある場合だけです。
Unity には 3 つのスタックトレースオプションがあります。
- なしUnity はスタックトレース情報を出力しません。
- **ScriptOnly:**Unity はマネージコードのスタックトレース情報のみを出力します。これはデフォルトのオプションです。
- fullUnity はマネージコードとアンマネージコードの両方のスタックトレース情報を出力します。
これらのスタックトレースオプションは、ログメッセージタイプごとに個別に設定できます。エラー、アサート、注意、ログ、例外。
スタックトレースリソース要件
スタックトレース、特に完全なスタックトレースの解決は、リソースに負荷がかかる操作です。スタックトレースのベストプラクティスは次のとおりです。
- スタックトレースはデバッグにのみ使用します。スタックトレースが有効なユーザーにアプリケーションをデプロイしない。
- スタックトレースをディスプレイするメッセージの種類を制限します。例えば、例外と警告のみにスタックトレースを使用することを検討してください。
スタックトレースタイプの設定
スタックトレースオプションは、以下の方法で設定できます。
-
コンソール ウィンドウのメニューから:
- すべてのログメッセージタイプにスタックトレースオプションを選択するには、[Stack Trace Logging]> [All] に移動し、すべてのログメッセージタイプにスタックトレースオプションを選択します。
- 1 種類のログメッセージにスタックトレースオプションを選択するには、スタックトレースロギング> MESSAGE TYPE に移動し、そのログメッセージタイプのスタックトレースオプションを選択します。
-
プレイヤー設定ウィンドウから:
- 編集> > プレイヤー> その他の設定に移動します。プロジェクト設定
?
- 「スタックトレース」の下のチェックボックスを使用して、さまざまなログメッセージタイプのスタックトレースオプションを設定します。
- 編集>
-
コードから、メソッドを使用。
Application.SetStackTraceLogType

Stack trace logging options from the Console. This example shows the options for Exception.
スタックトレース出力からソースファイルを開く
メッセージの全文には、リンク付きのコードファイル内の特定の行への参照が含まれます。リンクをクリックすると、参照されている行のファイルが IDE で開きます。
構築したアプリケーションの出力ログファイルの検索
ビルドされたアプリケーションはコンソールに出力されません。スタックトレースを確認するには、アプリケーションのログファイルを使用します。