Dela via


C++ Build Insights SDK: händelsetabell

C++ Build Insights SDK är kompatibelt med Visual Studio 2017 och senare. Om du vill se dokumentationen för dessa versioner, ställ in Väljarkontrollen för Visual Studio Version i den här artikeln på Visual Studio 2017 eller senare. Den finns överst i innehållsförteckningen på den här sidan.

Kompilatorhändelser

KOMPILATOR
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACKEND-LÖSENORD

Frontend-händelser för kompilatorn

C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODUL
HEADER_UNIT
PRECOMPILED_HEADER

Backend-händelser för kompilatorn

C2_DLL
WHOLE_PROGRAM_ANALYSIS
Uppifrån och ner
nedifrån och upp
CODE_GENERATION
TRÅD
FUNKTION
FORCE_INLINEE

Linker-händelser

LÄNKARE
kommandorad
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

Händelsetabell

Evenemang Fastighet Beskrivning
BACK_END_PASS Typ Aktivitet
Föräldrar KOMPILATOR
Barn C2_DLL
Egenskaper – Absolut sökväg till källfilen för indata
– Absolut sökväg till utdataobjektfil
Samla in klasser Aktivitet
CompilerPass
BackEndPass
Beskrivning Inträffar vid start och slut av kompilatorns backend-pass. Det här passet ansvarar för att optimera tolkad C/C++-källkod och konvertera den till datorkod.
BOTTOM_UP Typ Aktivitet
Föräldrar helprogramsanalysering
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
Nederkant
Beskrivning Sker i början och slutet av hela programanalysens nedifrån-och-upp-genomgång.
C1_DLL Typ Aktivitet
Föräldrar FRONT_END_PASS
Barn FRONT_END_FILE
SYMBOL_NAME
TEMPLATE_INSTANTIATION
Egenskaper Ingen
Samla in klasser Aktivitet
C1DLL
Beskrivning Inträffar vid början och stoppet av en c1.dll eller c1xx.dll anrop. Dessa DLL:er är kompilatorns C- och C++-klientdel. De anropas enbart av kompilatordrivrutinen (cl.exe).
C2_DLL Typ Aktivitet
Föräldrar BACK_END_PASS
LTCG
Barn CODE_GENERATION
WHOLE_PROGRAM_ANALYSIS
Egenskaper Ingen
Samla in klasser Aktivitet
C2DLL
Beskrivning Inträffar vid början och stoppet av en c2.dll anrop. Detta DLL är kompilatorns bakända. Den anropas av kompilatordrivrutinen (cl.exe). Den anropas också av länkaren (link.exe) när länktidskodgenerering används.
CODE_GENERATION Typ Aktivitet
Föräldrar C2_DLL
Barn FUNKTION
TRÅD
Egenskaper Ingen
Samla in klasser Aktivitet
CodeGeneration
Beskrivning Inträffar i början och stoppet av serverdelens kodgenereringsfas.
KOMMANDORAD Typ Enkel händelse
Föräldrar KOMPILATOR
LÄNKARE
Barn Ingen
Egenskaper – Kommandoraden som användes för att anropa cl.exe eller link.exe
Samla in klasser SimpleEvent
Kommandorad
Beskrivning Inträffar när kompilatorn och länkaren är klara med att utvärdera kommandoraden. Den utvärderade kommandoraden innehåller alla cl.exe och link.exe parametrar som skickas via en svarsfil. Den innehåller även parametrar till cl.exe och link.exe som skickas via miljövariabler som CL, _CL_, LINK och _LINK_.
KOMPILATOR Typ Aktivitet
Föräldrar Ingen
Barn BACK_END_PASS
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
Egenskaper – Kompilatorversion
– Arbetskatalog
– Absolut sökväg till den anropade cl.exe
Samla in klasser Aktivitet
Åkallan
Kompilator
Beskrivning Inträffar vid början och stoppet av en cl.exe anrop.
MILJÖVARIABEL Typ Enkel händelse
Föräldrar KOMPILATOR
LÄNKARE
Barn Ingen
Egenskaper – Namnet på miljövariabeln
– Värdet för miljövariabeln.
Samla in klasser SimpleEvent
Miljövariabel
Beskrivning Inträffar en gång för varje befintlig miljövariabel vid den tidpunkt dåcl.exe eller link.exe anropas.
KÖRBAR_BILDUTDATA Typ Enkel händelse
Föräldrar LÄNKARE
Barn Ingen
Egenskaper – Den absoluta sökvägen till en DLL-fil eller en körbar utdatafil.
Samla in klasser SimpleEvent
FileOutput
ExecutableImageOutput
Beskrivning Inträffar när en av länkarnas indata är en DLL eller en körbar bildfil.
EXP_OUTPUT Typ Enkel händelse
Föräldrar LÄNKARE
Barn Ingen
Egenskaper – Den absoluta sökvägen till en .exp-utdatafil.
Samla in klasser SimpleEvent
FileOutput
ExpOutput
Beskrivning Inträffar när en av länkarnas utdata är en .exp-fil .
FILE_INPUT Typ Enkel händelse
Föräldrar KOMPILATOR
LÄNKARE
Barn Ingen
Egenskaper – Den absoluta sökvägen till indatafilen
– Typ av indatafil
Samla in klasser SimpleEvent
FileInput
Beskrivning Används för att meddela en cl.exe eller link.exe indata.
FORCE_INLINEE Typ Enkel händelse
Föräldrar FUNKTION
Barn Ingen
Egenskaper - Namnet på funktionen force-inlined.
- Storleken på den kraftinlindade funktionen, representerad som ett mellanliggande instruktionsantal.
Samla in klasser Aktivitet
ForceInlinee
Beskrivning Inträffar när en funktion tvingas in i en annan funktion med hjälp av nyckelordet __forceinline .
FRONT_END_FILE Typ Aktivitet
Föräldrar C1_DLL
FRONT_END_FILE
Barn FRONT_END_FILE
TEMPLATE_INSTANTIATION
Egenskaper – Absolut sökväg till filen.
Samla in klasser Aktivitet
FrontEndFile
Beskrivning Inträffar när kompilatorns klientdel startar och slutar bearbeta en fil. Den här händelsen är rekursiv. Rekursion sker när frontend parsar inkluderade filer.
FRONT_END_PASS Typ Aktivitet
Föräldrar KOMPILATOR
Barn C1_DLL
MODUL
HEADER_UNIT
PRECOMPILED_HEADER
Egenskaper – Absolut sökväg till källfilen för indata
– Absolut sökväg till utdataobjektfil
Samla in klasser Aktivitet
CompilerPass
FrontEndPass
Beskrivning Inträffar vid start och stopp av kompilatorns klientdelspass. Det här passet ansvarar för att parsa C/C++-källkoden och konvertera den till mellanliggande språk.
FUNKTION Typ Aktivitet
Föräldrar CODE_GENERATION
TRÅD
Uppifrån och ner
Barn FORCE_INLINEE
Egenskaper - Namnet på funktionen
Samla in klasser Aktivitet
Funktion
Beskrivning Inträffar när du startar och avslutar genereringen av koden för en funktion.
HEADER_UNIT Typ Aktivitet
Föräldrar FRONT_END_PASS
Barn Ingen
Egenskaper Ingen
Samla in klasser SimpleEvent
TranslationUnitType
HeaderUnit
Beskrivning Inträffar i början av front-end-passagen och innebär att en header-översättningsenhet bearbetas.
IMP_LIB_OUTPUT Typ Enkel händelse
Föräldrar LÄNKARE
Barn Ingen
Egenskaper – Den absoluta sökvägen till en importbiblioteksutdatafil.
Samla in klasser SimpleEvent
FileOutput
ImpLibOutput
Beskrivning Inträffar när en av länkarens utdata är ett importbibliotek.
LIB_OUTPUT Typ Enkel händelse
Föräldrar LÄNKARE
Barn Ingen
Egenskaper – Den absoluta sökvägen till en utdatafil för statiska bibliotek.
Samla in klasser SimpleEvent
FileOutput
LibOutput
Beskrivning Inträffar när en av länkarens utdata är statiskt bibliotek.
LÄNKARE Typ Aktivitet
Föräldrar Ingen
Barn COMMAND_LINE
ENVIRONMENT_VARIABLE
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
FILE_INPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PASS2
Egenskaper - Linker-version
– Arbetskatalog
– Absolut sökväg till den anropade link.exe
Samla in klasser Aktivitet
Åkallan
Länkare
Beskrivning Inträffar vid början och stoppet av en link.exe anrop.
LTCG Typ Aktivitet
Föräldrar PASS1
Barn C2_DLL
Egenskaper Ingen
Samla in klasser Aktivitet
LTCG
Beskrivning Inträffar vid start och stopp av länktidskodgenerering.
MODUL Typ Aktivitet
Föräldrar FRONT_END_PASS
Barn Ingen
Egenskaper Ingen
Samla in klasser SimpleEvent
TranslationUnitType
Modul
Beskrivning Inträffar i början av frontend-passet och indikerar att en modulöversättningsenhet behandlas.
OBJ_OUTPUT Typ Enkel händelse
Föräldrar KOMPILATOR
Barn Ingen
Egenskaper – Den absoluta sökvägen till .obj-utdatafilen
Samla in klasser SimpleEvent
FileOutput
ObjOutput
Beskrivning Inträffar en gång för varje .obj utdata som genereras av cl.exe.
OPT_ICF Typ Aktivitet
Föräldrar PASS1
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
OptICF
Beskrivning Inträffar vid start och stopp av identisk COMDAT-vikning (/OPT:ICF) länkoptimering.
OPT_LBR Typ Aktivitet
Föräldrar PASS1
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
OptLBR
Beskrivning Inträffar vid start och stopp av länkoptimeringen för den långa grenen (/OPT:LBR).
OPT_REF Typ Aktivitet
Föräldrar PASS1
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
OptRef
Beskrivning Inträffar vid början och slutet av de orefererade funktionerna och dataeliminering (/OPT:REF) i länkoptimering.
PASS1 Typ Aktivitet
Föräldrar LÄNKARE
Barn LTCG
OPT_ICF
OPT_LBR
OPT_REF
Egenskaper Ingen
Samla in klasser Aktivitet
Pass1
Beskrivning Inträffar vid start och stopp av länkarens pass 1.
PASS2 Typ Aktivitet
Föräldrar LÄNKARE
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
Pass2
Beskrivning Inträffar vid start och stopp av länkarens pass 2.
FÖRKOMPILERAD_HEADER Typ Aktivitet
Föräldrar FRONT_END_PASS
Barn Ingen
Egenskaper Ingen
Samla in klasser SimpleEvent
TranslationUnitType
PrecompiledHeader
Beskrivning Inträffar i början av klientdelspasset och representerar att en förkompilerad rubriköversättningsenhet (PCH) bearbetas.
PRE_LTCG_OPT_REF Typ Aktivitet
Föräldrar PASS1
Barn Ingen
Egenskaper Ingen
Samla in klasser Aktivitet
PreLTCGOptRef
Beskrivning Inträffar vid start och stopp av länkningsoptimeringspasset som eliminerar orefererade funktioner och data (/OPT:REF). Det görs före länktidskodgenerering.
SYMBOL_NAME Typ Enkel händelse
Föräldrar C1_DLL
Barn Ingen
Egenskaper En nyckeltyp
- Typens namn
Samla in klasser SimpleEvent
Symbolnamn
Beskrivning Inträffar i slutet av frontend-bearbetningen: en gång för varje typ som ingår i mallens instansieringar. Nyckeln är en numerisk identifierare för typen, medan namnet är dess textrepresentation. Typnycklar är unika inom det spår som analyseras. Men olika nycklar som kommer från olika kompilator-klientdelspass kan peka på samma typ. För att jämföra typer mellan olika förstegspass i en kompilator används deras namn. SYMBOL_NAME händelser genereras i slutet av ett frontend-pass för kompilatorn, efter att alla mall-instansieringar har ägt rum.
TEMPLATE_INSTANTIERING Typ Aktivitet
Föräldrar C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
Barn TEMPLATE_INSTANTIATION
Egenskaper - Nyckeln för den specialiserade typen
– Nyckeln för den primära mallens typ
– Den typ av mall som instansierades
Samla in klasser Aktivitet
TemplateInstantiation
Beskrivning Inträffar i början och slutet av en mallinstansiering. En primär malltyp (till exempel vector) instansieras, vilket resulterar i en specialiserad typ (till exempel std::vector<int>). En nyckel ges för båda typerna. Använd händelsen SYMBOL_NAME för att konvertera en nyckel till typens namn. Typnycklar är unika inom det spår som analyseras. Men olika nycklar som kommer från olika kompilator-klientdelspass kan peka på samma typ. För att jämföra typer mellan olika kompilator-klientdelspass måste du använda symbolnamn. Den här händelsen är rekursiv. Rekursion sker i vissa fall när front-end instansierar kapslade mallar.
TRÅD Typ Aktivitet
Föräldrar CODE_GENERATION
Uppifrån och ner
Barn FUNKTION
Egenskaper Ingen
Samla in klasser Aktivitet
Tråd
Beskrivning Inträffar i början och slutet av en kompilator-serverdelstrådskörning. En tråd som pausas anses vara avslutad. En tråd som väcks anses vara startad.
Från toppen och ner Typ Aktivitet
Föräldrar WHOLE_PROGRAM_ANALYSIS
Barn FUNKTION
TRÅD
Egenskaper Ingen
Samla in klasser Aktivitet
TopDown
Beskrivning Sker i början och stoppet av hela programanalysens uppifrån och ned-pass.
TRANSLATION_UNIT_TYPE Typ Aktivitet
Föräldrar FRONT_END_PASS
Barn MODUL
HEADER_UNIT
PRECOMPILED_HEADER
Egenskaper - Typ av översättningsenhet.
Samla in klasser SimpleEvent
TranslationUnitType
Beskrivning Inträffar i början av frontendpasset. Typen identifierar om det här passet bearbetar en modul, huvudenhet eller förkompilerad huvudfil.
WHOLE_PROGRAM_ANALYSIS Typ Aktivitet
Föräldrar C2_DLL
Barn nedifrån och upp
Uppifrån och ner
Egenskaper Ingen
Samla in klasser Aktivitet
WholeProgramAnalysis
Beskrivning Inträffar i början och stoppet av hela programanalysfasen för länktidskodgenerering.