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
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
Compiler-Back-End-Ereignisse
C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
THREAD
FUNCTION
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | COMPILER | |
Children | 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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | WHOLE_PROGRAM_ANALYSIS | |
Children | None | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität BottomUp |
|
Beschreibung | Tritt am Anfang und Ende der Bottom-up-Übergabe bei der Analyse des gesamten Programms auf | |
C1_DLL | Typ | Aktivität |
Übergeordnete Elemente (Parents) | FRONT_END_PASS | |
Children | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
Eigenschaften | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | BACK_END_PASS LTCG |
|
Children | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
Eigenschaften | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | C2_DLL | |
Children | FUNCTION THREAD |
|
Eigenschaften | None | |
Erfassungsklassen | Aktivität CodeGeneration |
|
Beschreibung | Tritt am Anfang und Ende der Codegenerierungsphase im Back-End auf | |
COMMAND_LINE | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | COMPILER LINKER |
|
Children | None | |
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. Es enthält auch Parameter für cl.exe und link.exe , die über Umgebungsvariablen wie CL, _CL_, LINK und _LINK_übergeben werden. | |
COMPILER | Typ | Aktivität |
Übergeordnete Elemente (Parents) | None | |
Children | 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 | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | COMPILER LINKER |
|
Children | None | |
Eigenschaften | – Name der Umgebungsvariablen – Wert der Umgebungsvariablen |
|
Erfassungsklassen | SimpleEvent EnvironmentVariable |
|
Beschreibung | Tritt einmal für jede vorhandene Umgebungsvariable auf, wenn cl.exe oder link.exe aufgerufen wird | |
EXECUTABLE_IMAGE_OUTPUT | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | LINKER | |
Children | None | |
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 | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | LINKER | |
Children | None | |
Eigenschaften | – Absoluter Pfad zu einer EXP-Ausgabedatei | |
Erfassungsklassen | SimpleEvent FileOutput ExpOutput |
|
Beschreibung | Tritt auf, wenn eine der Linkerausgaben eine EXP-Datei ist | |
FILE_INPUT | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | COMPILER LINKER |
|
Children | None | |
Eigenschaften | – Absoluter Pfad zur Eingabedatei – Eingabedateityp |
|
Erfassungsklassen | SimpleEvent FileInput |
|
Beschreibung | Tritt auf, um eine cl.exe- oder link.exe-Eingabe anzukündigen | |
FORCE_INLINEE | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | FUNCTION | |
Children | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | C1_DLL FRONT_END_FILE |
|
Children | 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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | COMPILER | |
Children | C1_DLL MODULE 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 | |
FUNCTION | Typ | Aktivität |
Übergeordnete Elemente (Parents) | CODE_GENERATION THREAD TOP_DOWN |
|
Children | FORCE_INLINEE | |
Eigenschaften | – Name der Funktion | |
Erfassungsklassen | Aktivität Function |
|
Beschreibung | Tritt am Anfang und Ende der Codegenerierung für eine Funktion auf | |
HEADER_UNIT | Typ | Aktivität |
Übergeordnete Elemente (Parents) | FRONT_END_PASS | |
Children | None | |
Eigenschaften | None | |
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 | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | LINKER | |
Children | None | |
Eigenschaften | – Absoluter Pfad zur Ausgabedatei einer Importbibliothek | |
Erfassungsklassen | SimpleEvent FileOutput ImpLibOutput |
|
Beschreibung | Tritt auf, wenn eine der Linkerausgaben eine Importbibliothek ist | |
LIB_OUTPUT | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | LINKER | |
Children | None | |
Eigenschaften | – Absoluter Pfad zur Ausgabedatei einer statischen Bibliothek | |
Erfassungsklassen | SimpleEvent FileOutput LibOutput |
|
Beschreibung | Tritt auf, wenn eine der Linkerausgaben eine statische Bibliothek ist | |
LINKER | Typ | Aktivität |
Übergeordnete Elemente (Parents) | None | |
Children | 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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | PASS1 | |
Children | C2_DLL | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität LTCG |
|
Beschreibung | Tritt am Anfang und am Ende der Codegenerierung zur Verknüpfungszeit auf | |
MODULE | Typ | Aktivität |
Übergeordnete Elemente (Parents) | FRONT_END_PASS | |
Children | None | |
Eigenschaften | None | |
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 | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | COMPILER | |
Children | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | PASS1 | |
Children | None | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität OptICF |
|
Beschreibung | Tritt am Anfang und Ende der identischen Linkeroptimierung /OPT:ICF (COMDAT-Folding) auf | |
OPT_LBR | Typ | Aktivität |
Übergeordnete Elemente (Parents) | PASS1 | |
Children | None | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität OptLBR |
|
Beschreibung | Tritt am Anfang und Ende der Linkeroptimierung /OPT:LBR (langer Branch) auf | |
OPT_REF | Typ | Aktivität |
Übergeordnete Elemente (Parents) | PASS1 | |
Children | None | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität OptRef |
|
Beschreibung | Tritt am Anfang und Ende der Linkeroptimierung /OPT:REF (Löschung verweisloser Funktionen und Daten) auf | |
PASS1 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | LINKER | |
Children | LTCG OPT_ICF OPT_LBR OPT_REF |
|
Eigenschaften | None | |
Erfassungsklassen | Aktivität Pass1 |
|
Beschreibung | Tritt am Anfang und am Ende der Pass1-Linkerübergabe auf | |
PASS2 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | LINKER | |
Children | None | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität Pass2 |
|
Beschreibung | Tritt am Anfang und am Ende der Pass2-Linkerübergabe auf | |
PRECOMPILED_HEADER | Typ | Aktivität |
Übergeordnete Elemente (Parents) | FRONT_END_PASS | |
Children | None | |
Eigenschaften | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | PASS1 | |
Children | None | |
Eigenschaften | None | |
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 | Typ | Einfaches Ereignis |
Übergeordnete Elemente (Parents) | C1_DLL | |
Children | None | |
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Children | 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. |
|
THREAD | Typ | Aktivität |
Übergeordnete Elemente (Parents) | CODE_GENERATION TOP_DOWN |
|
Children | FUNCTION | |
Eigenschaften | None | |
Erfassungsklassen | Aktivität Thread |
|
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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | WHOLE_PROGRAM_ANALYSIS | |
Children | FUNCTION THREAD |
|
Eigenschaften | None | |
Erfassungsklassen | Aktivität TopDown |
|
Beschreibung | Tritt am Anfang und Ende der Top-down-Übergabe bei der Analyse des gesamten Programms auf | |
TRANSLATION_UNIT_TYPE | Typ | Aktivität |
Übergeordnete Elemente (Parents) | FRONT_END_PASS | |
Children | MODULE 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 | Typ | Aktivität |
Übergeordnete Elemente (Parents) | C2_DLL | |
Children | BOTTOM_UP TOP_DOWN |
|
Eigenschaften | None | |
Erfassungsklassen | Aktivität WholeProgramAnalysis |
|
Beschreibung | Tritt am Anfang und Ende der Analysephase des gesamten Programms bei der Codegenerierung zur Verknüpfungszeit auf |