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