次の方法で共有


C++ Build Insights SDK: イベント テーブル

C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。

コンパイラ イベント

COMPILER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS

コンパイラ フロントエンド イベント

C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODULE
HEADER_UNIT
PRECOMPILED_HEADER

コンパイラ バックエンド イベント

C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
THREAD
FUNCTION
FORCE_INLINEE

リンカー イベント

LINKER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PRE_LTCG_OPT_REF
LTCG
OPT_REF
OPT_ICF
OPT_LBR
PASS2

イベント テーブル

イベント プロパティ 説明
BACK_END_PASS Type アクティビティ
Parents COMPILER
C2_DLL
プロパティ - 入力ソース ファイルへの絶対パス
- 出力オブジェクト ファイルへの絶対パス
キャプチャ クラス アクティビティ
CompilerPass
BackEndPass
説明 コンパイラのバックエンド パスの開始時と停止時に発生します。 このパスでは、解析された C/C++ ソース コードの最適化と、マシン コードへの変換が行われます。
BOTTOM_UP Type アクティビティ
Parents WHOLE_PROGRAM_ANALYSIS
なし
プロパティ なし
キャプチャ クラス アクティビティ
BottomUp
説明 プログラム全体の分析のボトムアップ パスの開始時と停止時に発生します。
C1_DLL Type アクティビティ
Parents FRONT_END_PASS
FRONT_END_FILE
SYMBOL_NAME
TEMPLATE_INSTANTIATION
プロパティ なし
キャプチャ クラス アクティビティ
C1DLL
説明 c1.dll または c1xx.dll の呼び出しの開始時と停止時に発生します。 これらの DLL は、コンパイラの C および C++ フロントエンドです。 これらは、コンパイラ ドライバー (cl.exe) によってのみ呼び出されます。
C2_DLL Type アクティビティ
Parents BACK_END_PASS
LTCG
CODE_GENERATION
WHOLE_PROGRAM_ANALYSIS
プロパティ なし
キャプチャ クラス アクティビティ
C2DLL
説明 c2.dll の呼び出しの開始時と停止時に発生します。 この DLL は、コンパイラのバックエンドです。 コンパイラ ドライバー (cl.exe) によって呼び出されます。 また、リンク時のコード生成が使用されるときにも、リンカーによって (link.exe) 呼び出されます。
CODE_GENERATION Type アクティビティ
Parents C2_DLL
FUNCTION
THREAD
プロパティ なし
キャプチャ クラス アクティビティ
CodeGeneration
説明 バックエンドのコード生成フェーズの開始時と停止時に発生します。
COMMAND_LINE Type 簡易イベント
Parents COMPILER
LINKER
なし
プロパティ - cl.exe または link.exe を呼び出すために使用されたコマンド ライン
キャプチャ クラス SimpleEvent
CommandLine
説明 コンパイラとリンカーによるコマンド ラインの評価が完了すると発生します。 評価されるコマンド ラインには、応答ファイルを介して渡された cl.exelink.exe のすべてのパラメーターが含まれます。 また、CL、_CL_、LINK、_LINK_ などの環境変数を介して渡された cl.exe および link.exe へのパラメーターも含まれます。
COMPILER Type アクティビティ
Parents なし
BACK_END_PASS
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
プロパティ - コンパイラのバージョン
- 作業ディレクトリ
- 呼び出された cl.exe への絶対パス
キャプチャ クラス アクティビティ
[呼び出し]
Compiler
説明 cl.exe の呼び出しの開始時と停止時に発生します。
ENVIRONMENT_VARIABLE Type 簡易イベント
Parents COMPILER
LINKER
なし
プロパティ - 環境変数の名前
- 環境変数の値。
キャプチャ クラス SimpleEvent
EnvironmentVariable
説明 cl.exe または link.exe が呼び出されたときに、既存のすべての環境変数に対して 1 回発生します。
EXECUTABLE_IMAGE_OUTPUT Type 簡易イベント
Parents LINKER
なし
プロパティ - DLL または実行可能な出力ファイルへの絶対パス。
キャプチャ クラス SimpleEvent
FileOutput
ExecutableImageOutput
説明 リンカーの入力の 1 つが DLL または実行可能イメージ ファイルの場合に発生します。
EXP_OUTPUT Type 簡易イベント
Parents LINKER
なし
プロパティ - .exp 出力ファイルへの絶対パス。
キャプチャ クラス SimpleEvent
FileOutput
ExpOutput
説明 リンカーの出力の 1 つが .exp ファイルである場合に発生します。
FILE_INPUT Type 簡易イベント
Parents COMPILER
LINKER
なし
プロパティ - 入力ファイルへの絶対パス
- 入力ファイルの種類
キャプチャ クラス SimpleEvent
FileInput
説明 cl.exe または link.exe の入力を通知するために発生します。
FORCE_INLINEE Type 簡易イベント
Parents FUNCTION
なし
プロパティ - 強制インライン化関数の名前。
- 中間命令数として表される、強制インライン化関数のサイズ。
キャプチャ クラス アクティビティ
ForceInlinee
説明 __forceinline キーワードを使用することにより、関数が別の関数に強制インライン化されると発生します。
FRONT_END_FILE Type アクティビティ
Parents C1_DLL
FRONT_END_FILE
FRONT_END_FILE
TEMPLATE_INSTANTIATION
プロパティ - ファイルへの絶対パス。
キャプチャ クラス アクティビティ
FrontEndFile
説明 コンパイラ フロントエンドによるファイルの処理が開始および停止したときに発生します。 このイベントは再帰的です。 再帰は、フロントエンドでインクルード ファイルが解析されると発生します。
FRONT_END_PASS Type アクティビティ
Parents COMPILER
C1_DLL
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
プロパティ - 入力ソース ファイルへの絶対パス
- 出力オブジェクト ファイルへの絶対パス
キャプチャ クラス アクティビティ
CompilerPass
FrontEndPass
説明 コンパイラのフロントエンド パスの開始時と停止時に発生します。 このパスでは、C/C++ ソース コードの解析と、中間言語への変換が行われます。
FUNCTION Type アクティビティ
Parents CODE_GENERATION
THREAD
TOP_DOWN
FORCE_INLINEE
プロパティ - 関数の名前
キャプチャ クラス アクティビティ
関数
説明 関数のコードの生成の開始時と停止時に発生します。
HEADER_UNIT Type アクティビティ
Parents FRONT_END_PASS
なし
プロパティ なし
キャプチャ クラス SimpleEvent
TranslationUnitType
HeaderUnit
説明 フロント エンド パスの開始時点で発生し、ヘッダー ユニット翻訳単位が処理中であることを表します。
IMP_LIB_OUTPUT Type 簡易イベント
Parents LINKER
なし
プロパティ - インポート ライブラリの出力ファイルへの絶対パス。
キャプチャ クラス SimpleEvent
FileOutput
ImpLibOutput
説明 リンカーの出力の 1 つがインポート ライブラリである場合に発生します。
LIB_OUTPUT Type 簡易イベント
Parents LINKER
なし
プロパティ - スタティック ライブラリ出力ファイルへの絶対パス。
キャプチャ クラス SimpleEvent
FileOutput
LibOutput
説明 リンカーの出力の 1 つがスタティック ライブラリである場合に発生します。
LINKER Type アクティビティ
Parents なし
COMMAND_LINE
ENVIRONMENT_VARIABLE
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
FILE_INPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PASS2
プロパティ - リンカーのバージョン
- 作業ディレクトリ
- 呼び出された link.exe への絶対パス
キャプチャ クラス アクティビティ
[呼び出し]
リンカー
説明 link.exe の呼び出しの開始時と停止時に発生します。
LTCG Type アクティビティ
Parents PASS1
C2_DLL
プロパティ なし
キャプチャ クラス アクティビティ
LTCG
説明 リンク時のコード生成の開始時と停止時に発生します。
MODULE Type アクティビティ
Parents FRONT_END_PASS
なし
プロパティ なし
キャプチャ クラス SimpleEvent
TranslationUnitType
モジュール
説明 フロント エンド パスの開始時点で発生し、モジュール翻訳単位が処理中であることを表します。
OBJ_OUTPUT Type 簡易イベント
Parents COMPILER
なし
プロパティ - .obj 出力ファイルへの絶対パス
キャプチャ クラス SimpleEvent
FileOutput
ObjOutput
説明 cl.exe によって生成されるすべての .obj 出力に対して 1 回発生します。
OPT_ICF Type アクティビティ
Parents PASS1
なし
プロパティ なし
キャプチャ クラス アクティビティ
OptICF
説明 同じ COMDAT フォールド (/OPT:ICF) のリンカー最適化の開始時と停止時に発生します。
OPT_LBR Type アクティビティ
Parents PASS1
なし
プロパティ なし
キャプチャ クラス アクティビティ
OptLBR
説明 長い分岐 (/OPT:LBR) のリンカー最適化の開始時と停止時に発生します。
OPT_REF Type アクティビティ
Parents PASS1
なし
プロパティ なし
キャプチャ クラス アクティビティ
OptRef
説明 参照されていない関数とデータの削除 (/OPT:REF) のリンカー最適化の開始時と停止時に発生します。
PASS1 Type アクティビティ
Parents LINKER
LTCG
OPT_ICF
OPT_LBR
OPT_REF
プロパティ なし
キャプチャ クラス アクティビティ
Pass1
説明 リンカーのパス 1 の開始時と停止時に発生します。
PASS2 Type アクティビティ
Parents LINKER
なし
プロパティ なし
キャプチャ クラス アクティビティ
Pass2
説明 リンカーのパス 2 の開始時と停止時に発生します。
PRECOMPILED_HEADER Type アクティビティ
Parents FRONT_END_PASS
なし
プロパティ なし
キャプチャ クラス SimpleEvent
TranslationUnitType
PrecompiledHeader
説明 フロント エンド パスの開始時点で発生し、プリコンパイル済みヘッダー (PCH) 翻訳単位が処理中であることを表します。
PRE_LTCG_OPT_REF Type アクティビティ
Parents PASS1
なし
プロパティ なし
キャプチャ クラス アクティビティ
PreLTCGOptRef
説明 参照されていない関数とデータを除去する (/OPT:REF) リンカー最適化パスの開始時と停止時に発生します。 リンク時コード生成の前に行われます。
SYMBOL_NAME Type 簡易イベント
Parents C1_DLL
なし
プロパティ - 型のキー
- 型の名前
キャプチャ クラス SimpleEvent
SymbolName
説明 フロントエンド パスの最後で、テンプレートのインスタンス化に含まれるすべての型に対して 1 回発生します。 キーは型の数値識別子であり、名前はテキスト表現です。 型のキーは、分析対象のトレース内で一意です。 ただし、異なるコンパイラ フロントエンド パスから受け取る異なるキーで、同じ型が示されている場合があります。 異なるコンパイラ フロントエンド パスの間で型を比較するには、その名前を使用する必要があります。 SYMBOL_NAME イベントは、すべてのテンプレートのインスタンス化が行われた後で、コンパイラ フロントエンド パスの最後に生成されます。
TEMPLATE_INSTANTIATION Type アクティビティ
Parents C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
TEMPLATE_INSTANTIATION
プロパティ - 特殊な型のキー
- プライマリ テンプレートの型のキー
- インスタンス化されたテンプレートの種類
キャプチャ クラス アクティビティ
TemplateInstantiation
説明 テンプレートのインスタンス化の開始時と終了時に発生します。 プライマリ テンプレート型 (vector など) がインスタンス化され、結果として特殊な型 (std::vector<int> など) になります。 キーは両方の型に対して与えられます。 キーを型の名前に変換するには、SYMBOL_NAME イベントを使用します。 型のキーは、分析対象のトレース内で一意です。 ただし、異なるコンパイラ フロントエンド パスから受け取る異なるキーで、同じ型が示されている場合があります。 異なるコンパイラ フロントエンド パスの間で型を比較するには、シンボルの名前を使用する必要があります。 このイベントは再帰的です。 再帰は、フロントエンドによって入れ子になったテンプレートがインスタンス化されると発生する場合があります。
THREAD Type アクティビティ
Parents CODE_GENERATION
TOP_DOWN
FUNCTION
プロパティ なし
キャプチャ クラス アクティビティ
Thread
説明 コンパイラ バックエンドのスレッド実行の開始時と終了時に発生します。 中断されたスレッドは、終了されたものと見なされます。 再開されたスレッドは、開始されたものと見なされます。
TOP_DOWN Type アクティビティ
Parents WHOLE_PROGRAM_ANALYSIS
FUNCTION
THREAD
プロパティ なし
キャプチャ クラス アクティビティ
TopDown
説明 プログラムの分析のトップダウン パス全体の開始時と停止時に発生します。
TRANSLATION_UNIT_TYPE Type アクティビティ
Parents FRONT_END_PASS
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
プロパティ - 翻訳単位の型。
キャプチャ クラス SimpleEvent
TranslationUnitType
説明 フロントエンド パスの開始時に発生します。 この型は、このパスがモジュール、ヘッダー ユニット、またはプリコンパイル済みヘッダーを処理するかどうかを識別します。
WHOLE_PROGRAM_ANALYSIS Type アクティビティ
Parents C2_DLL
BOTTOM_UP
TOP_DOWN
プロパティ なし
キャプチャ クラス アクティビティ
WholeProgramAnalysis
説明 リンク時コード生成のプログラム全体の分析フェーズの開始時と停止時に発生します。