C++ Build Insights SDK: tabulka událostí
Sada C++ Build Insights SDK je kompatibilní se sadou Visual Studio 2017 a novějšími verzemi. Pokud chcete zobrazit dokumentaci k těmto verzím, nastavte ovládací prvek selektoru verzí sady Visual Studio pro tento článek na Visual Studio 2017 nebo novější. Nachází se v horní části obsahu na této stránce.
Události kompilátoru
PŘEKLADAČ
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS
Front-endové události kompilátoru
C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODUL
HEADER_UNIT
PRECOMPILED_HEADER
Back-endové události kompilátoru
C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
VLÁKNO
FUNCTION
FORCE_INLINEE
Události linkeru
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
Tabulka událostí
Událost | Vlastnost | Popis |
---|---|---|
BACK_END_PASS | Typ | Aktivita |
Rodiče | PŘEKLADAČ | |
Podřízené prvky | C2_DLL | |
Vlastnosti | – Absolutní cesta ke vstupnímu zdrojovému souboru – Absolutní cesta k výstupnímu souboru objektu |
|
Třídy zachytávání | Aktivita CompilerPass BackEndPass |
|
Popis | Vyvolá se na začátku a zastavení back-endového průchodu kompilátoru. Tento průchod zodpovídá za optimalizaci analyzovaného zdrojového kódu C/C++ a jeho převodu na strojový kód. | |
BOTTOM_UP | Typ | Aktivita |
Rodiče | WHOLE_PROGRAM_ANALYSIS | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita Dole |
|
Popis | Probíhá na začátku a zastavuje průchod analýzy celého programu směrem dolů. | |
C1_DLL | Typ | Aktivita |
Rodiče | FRONT_END_PASS | |
Podřízené prvky | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita C1DLL |
|
Popis | Vyvolá se při spuštění a zastavení c1.dll nebo c1xx.dll vyvolání. Tyto knihovny DLL jsou front-end jazyka C a C++ kompilátoru. Vyvolá se výhradně ovladačem kompilátoru (cl.exe). | |
C2_DLL | Typ | Aktivita |
Rodiče | BACK_END_PASS LTCG |
|
Podřízené prvky | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita C2DLL |
|
Popis | Vyvolá se při spuštění a zastavení c2.dll vyvolání. Tato knihovna DLL je back-end kompilátoru. Volá ho ovladač kompilátoru (cl.exe). Vyvolá se také linkerem (link.exe), když se použije generování kódu v době propojení. | |
CODE_GENERATION | Typ | Aktivita |
Rodiče | C2_DLL | |
Podřízené prvky | FUNCTION VLÁKNO |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita Generování kódu |
|
Popis | Nastane na začátku a zastavení fáze generování kódu back-endu. | |
COMMAND_LINE | Typ | Jednoduchá událost |
Rodiče | PŘEKLADAČ LINKER |
|
Podřízené prvky | Nic | |
Vlastnosti | – Příkazový řádek, který se použil k vyvolání cl.exe nebo link.exe | |
Třídy zachytávání | SimpleEvent Příkazový řádek |
|
Popis | Nastane, když kompilátor a linker dokončí vyhodnocení příkazového řádku. Vyhodnocený příkazový řádek obsahuje všechny parametry cl.exe a link.exe předávané prostřednictvím souboru odpovědi. Obsahuje také parametry pro cl.exe a link.exe předávané prostřednictvím proměnných prostředí, jako jsou CL, _CL_, LINK a _LINK_. | |
PŘEKLADAČ | Typ | Aktivita |
Rodiče | Nic | |
Podřízené prvky | BACK_END_PASS COMMAND_LINE ENVIRONMENT_VARIABLE FILE_INPUT OBJ_OUTPUT FRONT_END_PASS |
|
Vlastnosti | – Verze kompilátoru - Pracovní adresář – Absolutní cesta k vyvolané cl.exe |
|
Třídy zachytávání | Aktivita Vyvolání Překladač |
|
Popis | Vyvolá se při spuštění a zastavení cl.exe vyvolání. | |
ENVIRONMENT_VARIABLE | Typ | Jednoduchá událost |
Rodiče | PŘEKLADAČ LINKER |
|
Podřízené prvky | Nic | |
Vlastnosti | – Název proměnné prostředí – Hodnota proměnné prostředí. |
|
Třídy zachytávání | SimpleEvent EnvironmentVariable |
|
Popis | Nastane jednou pro každou existující proměnnou prostředí v době , kdy cl.exe nebo link.exe je vyvolána. | |
EXECUTABLE_IMAGE_OUTPUT | Typ | Jednoduchá událost |
Rodiče | LINKER | |
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta k výstupnímu souboru knihovny DLL nebo spustitelnému souboru. | |
Třídy zachytávání | SimpleEvent FileOutput Spustitelný souborImageOutput |
|
Popis | Nastane, když jeden ze vstupů linkeru je dll nebo spustitelný soubor obrázku. | |
EXP_OUTPUT | Typ | Jednoduchá událost |
Rodiče | LINKER | |
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta k výstupnímu souboru .exp . | |
Třídy zachytávání | SimpleEvent FileOutput ExpOutput |
|
Popis | Nastane, když jeden z výstupů linkeru je soubor .exp . | |
FILE_INPUT | Typ | Jednoduchá událost |
Rodiče | PŘEKLADAČ LINKER |
|
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta ke vstupnímu souboru - Typ vstupního souboru |
|
Třídy zachytávání | SimpleEvent FileInput |
|
Popis | Vyvolá se k oznámení cl.exe nebo link.exe vstupu. | |
FORCE_INLINEE | Typ | Jednoduchá událost |
Rodiče | FUNCTION | |
Podřízené prvky | Nic | |
Vlastnosti | - Název vynucené vložené funkce. - Velikost vynucené vložené funkce, reprezentovaná jako průběžný počet instrukcí. |
|
Třídy zachytávání | Aktivita ForceInlinee |
|
Popis | Nastane, když je funkce vynuceně vložena do jiné funkce prostřednictvím použití klíčového __forceinline slova. |
|
FRONT_END_FILE | Typ | Aktivita |
Rodiče | C1_DLL FRONT_END_FILE |
|
Podřízené prvky | FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Vlastnosti | – Absolutní cesta k souboru. | |
Třídy zachytávání | Aktivita FrontEndFile |
|
Popis | Nastane při spuštění front-endu kompilátoru a zastavení zpracování souboru. Tato událost je rekurzivní. K rekurzi dochází, když front-end analyzuje zahrnuté soubory. | |
FRONT_END_PASS | Typ | Aktivita |
Rodiče | PŘEKLADAČ | |
Podřízené prvky | C1_DLL MODUL HEADER_UNIT PRECOMPILED_HEADER |
|
Vlastnosti | – Absolutní cesta ke vstupnímu zdrojovému souboru – Absolutní cesta k výstupnímu souboru objektu |
|
Třídy zachytávání | Aktivita CompilerPass FrontEndPass |
|
Popis | Vyvolá se na začátku a zastavení front-endu kompilátoru. Tento průchod zodpovídá za parsování zdrojového kódu C/C++ a převodu do zprostředkujícího jazyka. | |
FUNKCE | Typ | Aktivita |
Rodiče | CODE_GENERATION VLÁKNO TOP_DOWN |
|
Podřízené prvky | FORCE_INLINEE | |
Vlastnosti | - Název funkce | |
Třídy zachytávání | Aktivita Funkce |
|
Popis | Nastane při spuštění a ukončení generování kódu pro funkci. | |
HEADER_UNIT | Typ | Aktivita |
Rodiče | FRONT_END_PASS | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | SimpleEvent TranslationUnitType HeaderUnit |
|
Popis | Nastane na začátku front-endového průchodu a představuje, že se zpracovává jednotka překladu hlaviček. | |
IMP_LIB_OUTPUT | Typ | Jednoduchá událost |
Rodiče | LINKER | |
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta k výstupnímu souboru knihovny importu. | |
Třídy zachytávání | SimpleEvent FileOutput ImpLibOutput |
|
Popis | Nastane, když jeden z výstupů linkeru je knihovna importu. | |
LIB_OUTPUT | Typ | Jednoduchá událost |
Rodiče | LINKER | |
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta k výstupnímu souboru statické knihovny. | |
Třídy zachytávání | SimpleEvent FileOutput LibOutput |
|
Popis | Nastane, když jeden z výstupů linkeru je statická knihovna. | |
LINKER | Typ | Aktivita |
Rodiče | Nic | |
Podřízené prvky | COMMAND_LINE ENVIRONMENT_VARIABLE EXECUTABLE_IMAGE_OUTPUT EXP_OUTPUT FILE_INPUT IMP_LIB_OUTPUT LIB_OUTPUT PASS1 PASS2 |
|
Vlastnosti | - Verze linkeru - Pracovní adresář – Absolutní cesta k vyvolané link.exe |
|
Třídy zachytávání | Aktivita Vyvolání Linker |
|
Popis | Vyvolá se při spuštění a zastavení link.exe vyvolání. | |
LTCG | Typ | Aktivita |
Rodiče | PASS1 | |
Podřízené prvky | C2_DLL | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita LTCG |
|
Popis | Vyvolá se při spuštění a zastavení generování kódu v době propojení. | |
MODUL | Typ | Aktivita |
Rodiče | FRONT_END_PASS | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | SimpleEvent TranslationUnitType Modul |
|
Popis | Nastane na začátku front-endového průchodu a představuje, že se zpracovává jednotka překladu modulu. | |
OBJ_OUTPUT | Typ | Jednoduchá událost |
Rodiče | PŘEKLADAČ | |
Podřízené prvky | Nic | |
Vlastnosti | – Absolutní cesta k výstupnímu souboru .obj | |
Třídy zachytávání | SimpleEvent FileOutput ObjOutput |
|
Popis | Nastane jednou pro každý .obj výstup vytvořený cl.exe. | |
OPT_ICF | Typ | Aktivita |
Rodiče | PASS1 | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita OptICF |
|
Popis | Vyvolá se při spuštění a zastavení identické optimalizace linkeru COMDAT (/OPT:ICF). | |
OPT_LBR | Typ | Aktivita |
Rodiče | PASS1 | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita OptLBR |
|
Popis | Vyvolá se při spuštění a zastavení optimalizace linkeru long branch (/OPT:LBR). | |
OPT_REF | Typ | Aktivita |
Rodiče | PASS1 | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita OptRef |
|
Popis | Vyvolá se při spuštění a zastavení neodkazovaných funkcí a optimalizace linkeru (/OPT:REF). | |
PASS1 | Typ | Aktivita |
Rodiče | LINKER | |
Podřízené prvky | LTCG OPT_ICF OPT_LBR OPT_REF |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita Pass1 |
|
Popis | Nastane na začátku a zastavení linkeru pass 1. | |
PASS2 | Typ | Aktivita |
Rodiče | LINKER | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita Pass2 |
|
Popis | Nastane na začátku a zastavení linkeru pass 2. | |
PRECOMPILED_HEADER | Typ | Aktivita |
Rodiče | FRONT_END_PASS | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | SimpleEvent TranslationUnitType PrekompiledHeader |
|
Popis | Nastane na začátku front-endového průchodu a představuje, že se zpracovává předkompilovaná jednotka překladu (PCH). | |
PRE_LTCG_OPT_REF | Typ | Aktivita |
Rodiče | PASS1 | |
Podřízené prvky | Nic | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita PreLTCGOptRef |
|
Popis | Vyvolá se při spuštění a zastavení průchodu optimalizace linkeru, který eliminuje neodkazované funkce a data (/OPT:REF). Je to hotové před generováním kódu v době propojení. | |
SYMBOL_NAME | Typ | Jednoduchá událost |
Rodiče | C1_DLL | |
Podřízené prvky | Nic | |
Vlastnosti | – Klíč typu – Název typu |
|
Třídy zachytávání | SimpleEvent SymbolName |
|
Popis | Vyskytuje se na konci front-endového průchodu: jednou pro každý typ, který je součástí vytváření instancí šablony. Klíč je číselný identifikátor pro typ, zatímco název je jeho textová reprezentace. Klíče typu jsou jedinečné v rámci analyzovaného trasování. Různé klíče pocházející z různých front-endových průchodů kompilátoru ale můžou odkazovat na stejný typ. Porovnání typů mezi různými front-endy kompilátoru vyžaduje použití jejich názvů. SYMBOL_NAME události se generují na konci front-endového průchodu kompilátoru, po provedení všech instancí šablony. | |
TEMPLATE_INSTANTIATION | Typ | Aktivita |
Rodiče | C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Podřízené prvky | TEMPLATE_INSTANTIATION | |
Vlastnosti | - Klíč pro specializovaný typ – Klíč pro typ primární šablony - Druh šablony, která byla vytvořena |
|
Třídy zachytávání | Aktivita TemplateInstantiation |
|
Popis | Nastane na začátku a na konci instance šablony. Vytvoří se instance primárního typu šablony (například vector ) a výsledkem je specializovaný typ (například std::vector<int> ). Klíč je zadaný pro oba typy. Pomocí události SYMBOL_NAME převeďte klíč na název typu. Klíče typu jsou jedinečné v rámci analyzovaného trasování. Různé klíče pocházející z různých front-endových průchodů kompilátoru ale můžou odkazovat na stejný typ. Porovnání typů mezi různými front-endy kompilátoru vyžaduje použití názvů symbolů. Tato událost je rekurzivní. K rekurzi dochází v některých případech, když front-end vytvoří instanci vnořených šablon. |
|
VLÁKNO | Typ | Aktivita |
Rodiče | CODE_GENERATION TOP_DOWN |
|
Podřízené prvky | FUNCTION | |
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita Vlákno |
|
Popis | Nastane na začátku a na konci spuštění back-endového vlákna kompilátoru. Pozastavené vlákno se považuje za ukončené. Vlákno, které se probudí, se považuje za spuštěné. | |
TOP_DOWN | Typ | Aktivita |
Rodiče | WHOLE_PROGRAM_ANALYSIS | |
Podřízené prvky | FUNCTION VLÁKNO |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita TopDown |
|
Popis | Vyskytuje se na začátku a zastavuje horní konec analýzy celého programu. | |
TRANSLATION_UNIT_TYPE | Typ | Aktivita |
Rodiče | FRONT_END_PASS | |
Podřízené prvky | MODUL HEADER_UNIT PRECOMPILED_HEADER |
|
Vlastnosti | - Typ jednotky překladu. | |
Třídy zachytávání | SimpleEvent TranslationUnitType |
|
Popis | Nastane na začátku front-endového průchodu. Typ určuje, jestli tento průchod zpracovává modul, jednotku záhlaví nebo předkompilovanou hlavičku. | |
WHOLE_PROGRAM_ANALYSIS | Typ | Aktivita |
Rodiče | C2_DLL | |
Podřízené prvky | BOTTOM_UP TOP_DOWN |
|
Vlastnosti | Nic | |
Třídy zachytávání | Aktivita WholeProgramAnalysis |
|
Popis | Vyskytuje se na začátku a zastavení fáze analýzy celého programu generování kódu v čase propojení. |