traceback

 

ランタイム時に致命的なエラーが発生したとき、ソースファイルのトレースバック情報を表示できるように、オブジェクト・ファイル内に補足情報を生成するようにコンパイラーに指示します。

IDE オプション

Windows: [Run-time (ランタイム)] > [Generate Traceback Information (トレースバック情報の生成)]

Linux: なし

Mac OS X: [Run-time (ランタイム)] > [Generate Traceback Information (トレースバック情報の生成)]

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-traceback

-notraceback

Windows:

/traceback

/notraceback

引数

なし

デフォルト

notraceback

トレースバック情報を生成するオブジェクト・ファイルに補足情報を生成しません。

説明

このオプションは、ランタイム時に致命的なエラーが発生したとき、ソースファイルのトレースバック情報を表示できるように、オブジェクト・ファイル内に補足情報を生成するようにコンパイラーに指示します。

致命的なエラーが発生すると、コールスタックの 16 進アドレス (プログラム・カウンター・トレース) とともに、ソースファイル、ルーチン名、および行番号の相関情報が表示されます。

マップファイルとエラーが発生したときに表示されるスタックの 16 進アドレスを使用することで、エラーの原因を特定できます。

このオプションを指定すると、実行プログラムのサイズが増えますが、ランタイム時の実行速度には影響がありません。

デバッグオプションとは関係なく機能します。

Windows システムでは、traceback は、コンパイラーにスタック・フレーム・ポインターとして EBP を強制的に使用させる /Oy- オプションを設定します。

Windows システムでは、リンカーは実行ファイルの ".trace" という名前のセクションに、トレースバック情報を配置します。実行ファイルに含まれているセクションを参照するには、次のコマンドを使用します。

link -dump -summary your_app_name.exe

さらに詳しい情報を参照するには、次のコマンドを使用します。

link -dump -headers your_app_name.exe

Windows システムでは、トレースバックを要求する際、Visual Studio* .NET IDE で [Linker (リンカー)] オプションの [Enable Incremental Linking (インクリメンタル・リンクを有効にする)] を [No (いいえ)] に設定しなければなりません。IA-32 およびインテル® 64 アーキテクチャー・ベースのシステムでは、[Optimization (最適化)] オプションの [Omit Frame Pointers (フレームポインターなし)] (/Oy オプション) も [No (いいえ)] に設定しなければなりません。

Linux システムでは、(該当する場合、.trace セクションのヘッダーを含む) セクションヘッダーを表示するには、次のコマンドを使用します。

objdump -h your_app_name.exe

Mac OS X システムでは、イメージにセクションヘッダーを表示するには、次のコマンドを使用します。

otool -l your_app_name.exe

代替オプション

なし