Freigeben über


C++ Build Insights SDK: Ereignistabelle

Das C++ Build Insights SDK ist mit Visual Studio 2017 und höher kompatibel. Um die Dokumentation für diese Versionen anzuzeigen, legen Sie das Auswahlsteuerelement Version in Visual Studio für diesen Artikel auf Visual Studio 2017 oder höher fest. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.

Compilerereignisse

COMPILER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS

Compiler-Front-End-Ereignisse

C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODUL
HEADER_UNIT
PRECOMPILED_HEADER

Compiler-Back-End-Ereignisse

C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
FADEN
FUNKTION
FORCE_INLINEE

Linkerereignisse

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

Ereignistabelle

Ereignis Eigenschaft Beschreibung
BACK_END_PASS type Aktivität
Übergeordnete Elemente (Parents) COMPILER
Kinder C2_DLL
Eigenschaften – Absoluter Pfad zur Eingabequelldatei
– Absoluter Pfad zur Ausgabeobjektdatei
Erfassungsklassen Aktivität
CompilerPass
BackEndPass
Beschreibung Tritt am Anfang und Ende der Compiler-Back-End-Übergabe auf, die für die Optimierung des verarbeiteten C- oder C++-Quellcodes und die Konvertierung in Computercode zuständig ist
BOTTOM_UP type Aktivität
Übergeordnete Elemente (Parents) WHOLE_PROGRAM_ANALYSIS
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
BottomUp
Beschreibung Tritt am Anfang und Ende der Bottom-up-Übergabe bei der Analyse des gesamten Programms auf
C1_DLL type Aktivität
Übergeordnete Elemente (Parents) FRONT_END_PASS
Kinder FRONT_END_FILE
SYMBOL_NAME
TEMPLATE_INSTANTIATION
Eigenschaften Keine
Erfassungsklassen Aktivität
C1DLL
Beschreibung Tritt am Anfang und am Ende eines Aufrufs der DLL-Dateien c1.dll oder c1xx.dll auf, die das C- und C++-Front-End des Computers darstellen und nur über den Compilertreiber (cl.exe) aufgerufen werden
C2_DLL type Aktivität
Übergeordnete Elemente (Parents) BACK_END_PASS
LTCG
Kinder CODE_GENERATION
WHOLE_PROGRAM_ANALYSIS
Eigenschaften Keine
Erfassungsklassen Aktivität
C2DLL
Beschreibung Tritt am Anfang und am Ende eines Aufrufs der DLL-Datei c2.dll auf, die das Back-End des Compilers darstellt und über den Compilertreiber (cl.exe) oder den Linker (link.exe) aufgerufen wird, wenn die Codegenerierung zur Verknüpfungszeit erfolgt
CODE_GENERATION type Aktivität
Übergeordnete Elemente (Parents) C2_DLL
Kinder FUNKTION
FADEN
Eigenschaften Keine
Erfassungsklassen Aktivität
CodeGeneration
Beschreibung Tritt am Anfang und Ende der Codegenerierungsphase im Back-End auf
COMMAND_LINE type Einfaches Ereignis
Übergeordnete Elemente (Parents) COMPILER
LINKER
Kinder Keine
Eigenschaften – Befehlszeile, die zum Aufrufen von cl.exe oder link.exe verwendet wurde
Erfassungsklassen SimpleEvent
CommandLine
Beschreibung Tritt auf, wenn der Compiler und Linker die Auswertung der Befehlszeile abgeschlossen haben: Die ausgewertete Befehlszeile enthält alle cl.exe- und link.exe-Parameter, die über eine Antwortdatei übergeben wurden. Sie enthält auch Parameter zum cl.exe und link.exe , die über Umgebungsvariablen wie CL, _CL_, LINK und _LINK_ übergeben werden.
COMPILER type Aktivität
Übergeordnete Elemente (Parents) Keine
Kinder BACK_END_PASS
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
Eigenschaften – Compilerversion
– Arbeitsverzeichnis
– Absoluter Pfad zur aufgerufenen Datei cl.exe
Erfassungsklassen Aktivität
Aufruf
Compiler
Beschreibung Tritt am Anfang und am Ende eines Aufrufs der Datei cl.exe auf
ENVIRONMENT_VARIABLE type Einfaches Ereignis
Übergeordnete Elemente (Parents) COMPILER
LINKER
Kinder Keine
Eigenschaften – Name der Umgebungsvariablen
– Wert der Umgebungsvariablen
Erfassungsklassen SimpleEvent
Umgebungsvariable
Beschreibung Tritt einmal für jede vorhandene Umgebungsvariable auf, wenn cl.exe oder link.exe aufgerufen wird
EXECUTABLE_IMAGE_OUTPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) LINKER
Kinder Keine
Eigenschaften – Absoluter Pfad zu einer DLL-Ausgabedatei oder einer ausführbaren Ausgabedatei
Erfassungsklassen SimpleEvent
FileOutput
ExecutableImageOutput
Beschreibung Tritt auf, wenn eine der Linkerausgaben eine DLL-Datei oder eine ausführbare Imagedatei ist
EXP_OUTPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) LINKER
Kinder Keine
Eigenschaften – Absoluter Pfad zu einer EXP-Ausgabedatei
Erfassungsklassen SimpleEvent
FileOutput
ExpOutput
Beschreibung Tritt auf, wenn eine der Linkerausgaben eine EXP-Datei ist
FILE_INPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) COMPILER
LINKER
Kinder Keine
Eigenschaften – Absoluter Pfad zur Eingabedatei
– Eingabedateityp
Erfassungsklassen SimpleEvent
FileInput
Beschreibung Tritt auf, um eine cl.exe- oder link.exe-Eingabe anzukündigen
FORCE_INLINEE type Einfaches Ereignis
Übergeordnete Elemente (Parents) FUNKTION
Kinder Keine
Eigenschaften – Name der erzwungenen Inlinefunktion
– Größe der erzwungenen Inlinefunktion in Form der Anzahl von Zwischenanweisungen
Erfassungsklassen Aktivität
ForceInlinee
Beschreibung Tritt auf, wenn eine Inlinefunktion in einer anderen Funktion über das Schlüsselwort __forceinline erzwungen wird
FRONT_END_FILE type Aktivität
Übergeordnete Elemente (Parents) C1_DLL
FRONT_END_FILE
Kinder FRONT_END_FILE
TEMPLATE_INSTANTIATION
Eigenschaften – Absoluter Dateipfad
Erfassungsklassen Aktivität
FrontEndFile
Beschreibung Tritt auf, wenn das Compiler-Front-End mit der Verarbeitung einer Datei beginnt oder diese beendet: Dieses Ereignis ist rekursiv. Eine Rekursion tritt auf, wenn das Front-End enthaltene Dateien verarbeitet.
FRONT_END_PASS type Aktivität
Übergeordnete Elemente (Parents) COMPILER
Kinder C1_DLL
MODUL
HEADER_UNIT
PRECOMPILED_HEADER
Eigenschaften – Absoluter Pfad zur Eingabequelldatei
– Absoluter Pfad zur Ausgabeobjektdatei
Erfassungsklassen Aktivität
CompilerPass
FrontEndPass
Beschreibung Tritt am Anfang und Ende der Compiler-Front-End-Übergabe auf, die für die Verarbeitung des C- oder C++-Quellcodes und die Konvertierung in Zwischensprache zuständig ist
FUNKTION type Aktivität
Übergeordnete Elemente (Parents) CODE_GENERATION
FADEN
TOP_DOWN
Kinder FORCE_INLINEE
Eigenschaften – Name der Funktion
Erfassungsklassen Aktivität
Funktion
Beschreibung Tritt am Anfang und Ende der Codegenerierung für eine Funktion auf
HEADER_UNIT type Aktivität
Übergeordnete Elemente (Parents) FRONT_END_PASS
Kinder Keine
Eigenschaften Keine
Erfassungsklassen SimpleEvent
TranslationUnitType
HeaderUnit
Beschreibung Tritt am Anfang des Front-End-Durchlaufs auf und stellt dar, dass eine Übersetzungseinheit für eine Headereinheit verarbeitet wird.
IMP_LIB_OUTPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) LINKER
Kinder Keine
Eigenschaften – Absoluter Pfad zur Ausgabedatei einer Importbibliothek
Erfassungsklassen SimpleEvent
FileOutput
ImpLibOutput
Beschreibung Tritt auf, wenn eine der Linkerausgaben eine Importbibliothek ist
LIB_OUTPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) LINKER
Kinder Keine
Eigenschaften – Absoluter Pfad zur Ausgabedatei einer statischen Bibliothek
Erfassungsklassen SimpleEvent
FileOutput
LibOutput
Beschreibung Tritt auf, wenn eine der Linkerausgaben eine statische Bibliothek ist
LINKER type Aktivität
Übergeordnete Elemente (Parents) Keine
Kinder COMMAND_LINE
ENVIRONMENT_VARIABLE
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
FILE_INPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PASS2
Eigenschaften – Linkerversion
– Arbeitsverzeichnis
– Absoluter Pfad zur aufgerufenen Datei link.exe
Erfassungsklassen Aktivität
Aufruf
Linker-
Beschreibung Tritt am Anfang und am Ende eines Aufrufs der Datei link.exe auf
LTCG type Aktivität
Übergeordnete Elemente (Parents) PASS1
Kinder C2_DLL
Eigenschaften Keine
Erfassungsklassen Aktivität
LTCG
Beschreibung Tritt am Anfang und am Ende der Codegenerierung zur Verknüpfungszeit auf
MODUL type Aktivität
Übergeordnete Elemente (Parents) FRONT_END_PASS
Kinder Keine
Eigenschaften Keine
Erfassungsklassen SimpleEvent
TranslationUnitType
Modul
Beschreibung Tritt am Anfang des Front-End-Durchlaufs auf und stellt dar, dass eine Übersetzungseinheit für ein Modul verarbeitet wird.
OBJ_OUTPUT type Einfaches Ereignis
Übergeordnete Elemente (Parents) COMPILER
Kinder Keine
Eigenschaften – Absoluter Pfad zu einer OBJ-Ausgabedatei
Erfassungsklassen SimpleEvent
FileOutput
ObjOutput
Beschreibung Tritt einmal für jede von cl.exe generierte OBJ-Ausgabedatei auf
OPT_ICF type Aktivität
Übergeordnete Elemente (Parents) PASS1
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
OptICF
Beschreibung Tritt am Anfang und Ende der identischen Linkeroptimierung /OPT:ICF (COMDAT-Folding) auf
OPT_LBR type Aktivität
Übergeordnete Elemente (Parents) PASS1
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
OptLBR
Beschreibung Tritt am Anfang und Ende der Linkeroptimierung /OPT:LBR (langer Branch) auf
OPT_REF type Aktivität
Übergeordnete Elemente (Parents) PASS1
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
OptRef
Beschreibung Tritt am Anfang und Ende der Linkeroptimierung /OPT:REF (Löschung verweisloser Funktionen und Daten) auf
PASS1 type Aktivität
Übergeordnete Elemente (Parents) LINKER
Kinder LTCG
OPT_ICF
OPT_LBR
OPT_REF
Eigenschaften Keine
Erfassungsklassen Aktivität
Pass1
Beschreibung Tritt am Anfang und am Ende der Pass1-Linkerübergabe auf
PASS2 type Aktivität
Übergeordnete Elemente (Parents) LINKER
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
Pass2
Beschreibung Tritt am Anfang und am Ende der Pass2-Linkerübergabe auf
PRECOMPILED_HEADER type Aktivität
Übergeordnete Elemente (Parents) FRONT_END_PASS
Kinder Keine
Eigenschaften Keine
Erfassungsklassen SimpleEvent
TranslationUnitType
PrecompiledHeader
Beschreibung Tritt am Anfang des Front-End-Durchlaufs auf und stellt dar, dass eine Übersetzungseinheit für einen vorkompilierten Header (PCH) verarbeitet wird.
PRE_LTCG_OPT_REF type Aktivität
Übergeordnete Elemente (Parents) PASS1
Kinder Keine
Eigenschaften Keine
Erfassungsklassen Aktivität
PreLTCGOptRef
Beschreibung Tritt am Anfang und Ende der Linkeroptimierung /OPT:REF (Löschung verweisloser Funktionen und Daten) und vor der Codegenerierung zur Verknüpfungszeit auf
SYMBOL_NAME type Einfaches Ereignis
Übergeordnete Elemente (Parents) C1_DLL
Kinder Keine
Eigenschaften – Typschlüssel
– Typname
Erfassungsklassen SimpleEvent
SymbolName
Beschreibung Tritt am Ende der Front-End-Übergabe einmal für jeden Typ auf, der an Vorlageninstanziierungen beteiligt war, dabei ist der Schlüssel ein numerischer Typbezeichner und der Name dessen Textdarstellung. Typschlüssel sind innerhalb der Stapelüberwachung eindeutig, die analysiert wird. Allerdings können verschiedene Schlüssel, die von unterschiedlichen Compiler-Front-End-Übergaben stammen, auf denselben Typ verweisen. Für den Vergleich von Typen aus unterschiedlichen Compiler-Front-End-Übergaben sind deren Namen erforderlich. SYMBOL_NAME-Ereignisse werden am Ende einer Compiler-Front-End-Übergabe ausgegeben, nachdem alle Vorlageninstanziierungen durchgeführt wurden.
TEMPLATE_INSTANTIATION type Aktivität
Übergeordnete Elemente (Parents) C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
Kinder TEMPLATE_INSTANTIATION
Eigenschaften – Schlüssel für den spezialisierten Typ
– Schlüssel für den primären Vorlagentyp
– Instanziierte Vorlage
Erfassungsklassen Aktivität
TemplateInstantiation
Beschreibung Tritt am Anfang und Ende einer Vorlageninstanziierung auf: Ein primärer Vorlagentyp (wie vector) wird instanziiert, und das Ergebnis ist ein spezialisierter Typ (wie std::vector<int>). Für beide Typen wird ein Schlüssel angegeben. Verwenden Sie das SYMBOL_NAME-Ereignis, um einen Schlüssel in einen Typnamen zu konvertieren. Typschlüssel sind innerhalb der Stapelüberwachung eindeutig, die analysiert wird. Allerdings können verschiedene Schlüssel, die von unterschiedlichen Compiler-Front-End-Übergaben stammen, auf denselben Typ verweisen. Für den Vergleich von Typen aus unterschiedlichen Compiler-Front-End-Übergaben sind deren Symbolnamen erforderlich. Dieses Ereignis ist rekursiv. Wenn das Front-End geschachtelte Vorlagen instanziiert, tritt manchmal eine Rekursion auf.
FADEN type Aktivität
Übergeordnete Elemente (Parents) CODE_GENERATION
TOP_DOWN
Kinder FUNKTION
Eigenschaften Keine
Erfassungsklassen Aktivität
Faden
Beschreibung Tritt am Anfang und Ende der Ausführung eines Compiler-Back-End-Threads auf, dabei gilt ein angehaltener Thread als beendet, und ein reaktivierter Thread gilt als gestartet.
TOP_DOWN type Aktivität
Übergeordnete Elemente (Parents) WHOLE_PROGRAM_ANALYSIS
Kinder FUNKTION
FADEN
Eigenschaften Keine
Erfassungsklassen Aktivität
TopDown
Beschreibung Tritt am Anfang und Ende der Top-down-Übergabe bei der Analyse des gesamten Programms auf
TRANSLATION_UNIT_TYPE type Aktivität
Übergeordnete Elemente (Parents) FRONT_END_PASS
Kinder MODUL
HEADER_UNIT
PRECOMPILED_HEADER
Eigenschaften – Der Typ der Übersetzungseinheit.
Erfassungsklassen SimpleEvent
TranslationUnitType
Beschreibung Tritt am Anfang des Front-End-Durchlaufs auf. Der Typ gibt an, ob in diesem Durchlauf ein Modul, eine Headereinheit oder einen vorkompilierten Header verarbeitet wird.
WHOLE_PROGRAM_ANALYSIS type Aktivität
Übergeordnete Elemente (Parents) C2_DLL
Kinder BOTTOM_UP
TOP_DOWN
Eigenschaften Keine
Erfassungsklassen Aktivität
WholeProgramAnalysis
Beschreibung Tritt am Anfang und Ende der Analysephase des gesamten Programms bei der Codegenerierung zur Verknüpfungszeit auf