Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw SDK usługi Build Insights języka C++ jest zgodny z programem Visual Studio 2017 lub nowszym. Aby zapoznać się z dokumentacją dla tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na program Visual Studio 2017 lub nowszy. Znajduje się on w górnej części spisu treści na tej stronie.
Zdarzenia kompilatora
KOMPILATOR
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS
Zdarzenia frontonu kompilatora
C1_DLL
FRONT_END_FILE
Instancjowanie Szablonu
SYMBOL_NAME
MODUŁ
HEADER_UNIT
NAGŁÓWEK_PREKOMPILOWANY
Zdarzenia zaplecza kompilatora
C2_DLL
CAŁOŚCIOWA_ANALIZA_PROGRAMU
TOP_DOWN
OD_DOLU_DO_GÓRY
CODE_GENERATION
NITKA
FUNKCJA
FORCE_INLINEE
Zdarzenia konsolidatora
KONSOLIDATOR
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
Tabela zdarzeń
| Zdarzenie | Właściwości | opis |
|---|---|---|
| BACK_END_PASS | Typ | Działanie |
| Elementy nadrzędne | KOMPILATOR | |
| Dzieci | C2_DLL | |
| Właściwości | - Ścieżka bezwzględna do pliku źródłowego wejściowego - Ścieżka bezwzględna do wyjściowego pliku obiektu |
|
| Klasy przechwytywania |
Aktywność KompilatorPass BackEndPass |
|
| opis | Występuje na początku i zatrzymaniu przebiegu zaplecza kompilatora. Ten pass jest odpowiedzialny za optymalizację przeanalizowanego kodu źródłowego C/C++ i konwertowanie go na kod maszynowy. | |
| BOTTOM_UP | Typ | Działanie |
| Elementy nadrzędne | CAŁOŚCIOWA_ANALIZA_PROGRAMU | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Dolna |
|
| opis | Występuje na początku i zatrzymaniu całego przebiegu analizy programu. | |
| C1_DLL | Typ | Działanie |
| Elementy nadrzędne | FRONT_END_PASS | |
| Dzieci |
Plik_frontendowy SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność C1DLL |
|
| opis | Występuje na początku i zatrzymaniu wywołania c1.dll lub c1xx.dll . Te biblioteki DLL to fronton C i C++ kompilatora. Są one wywoływane wyłącznie przez sterownik kompilatora (cl.exe). | |
| C2_DLL | Typ | Działanie |
| Elementy nadrzędne |
BACK_END_PASS LTCG |
|
| Dzieci |
CODE_GENERATION CAŁOŚCIOWA_ANALIZA_PROGRAMU |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność C2DLL |
|
| opis | Występuje na początku i zatrzymaniu wywołania c2.dll . Ta biblioteka DLL jest zapleczem kompilatora. Jest wywoływany przez sterownik kompilatora (cl.exe). Jest również wywoływany przez konsolidator (link.exe), gdy jest używane generowanie kodu w czasie połączenia. | |
| GENEROWANIE_KODU | Typ | Działanie |
| Elementy nadrzędne | C2_DLL | |
| Dzieci |
FUNKCJA NITKA |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Generowanie kodu |
|
| opis | Występuje na początku i zatrzymaniu fazy generowania kodu zaplecza. | |
| LINIA_KOMEND | Typ | Proste zdarzenie |
| Elementy nadrzędne |
KOMPILATOR KONSOLIDATOR |
|
| Dzieci | Brak | |
| Właściwości | - Wiersz polecenia używany do wywoływania cl.exe lub link.exe | |
| Klasy przechwytywania |
SimpleEvent Wiersz polecenia |
|
| opis | Występuje, gdy kompilator i konsolidator są wykonywane ocenianie wiersza polecenia. Oceniany wiersz polecenia zawiera wszystkie parametry cl.exe i link.exe przekazywane za pośrednictwem pliku odpowiedzi. Zawiera również parametry do cl.exe i link.exe przekazywane za pośrednictwem zmiennych środowiskowych, takich jak CL, _CL_, LINK i _LINK_. | |
| KOMPILATOR | Typ | Działanie |
| Elementy nadrzędne | Brak | |
| Dzieci |
BACK_END_PASS COMMAND_LINE ENVIRONMENT_VARIABLE FILE_INPUT OBJ_OUTPUT FRONT_END_PASS |
|
| Właściwości | - Wersja kompilatora - Katalog roboczy - Ścieżka bezwzględna do wywoływanej cl.exe |
|
| Klasy przechwytywania |
Aktywność Wywołania Kompilator |
|
| opis | Występuje na początku i zatrzymaniu wywołania cl.exe . | |
| ZMIENNA_ŚRODOWISKOWA | Typ | Proste zdarzenie |
| Elementy nadrzędne |
KOMPILATOR KONSOLIDATOR |
|
| Dzieci | Brak | |
| Właściwości | - Nazwa zmiennej środowiskowej - Wartość zmiennej środowiskowej. |
|
| Klasy przechwytywania |
SimpleEvent Zmienna środowiskowa |
|
| opis | Występuje raz dla każdej istniejącej zmiennej środowiskowej w momencie wywołania cl.exe lub link.exe . | |
| WYJŚCIE_OBRAZU_WYKONALNEGO | Typ | Proste zdarzenie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wyjściowego DLL lub pliku wykonywalnego. | |
| Klasy przechwytywania |
SimpleEvent FileOutput WykonywalnyImageOutput |
|
| opis | Występuje, gdy jednym z danych wejściowych konsolidatora jest biblioteka DLL lub plik obrazu wykonywalnego. | |
| EXP_OUTPUT | Typ | Proste zdarzenie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wyjściowego exp . | |
| Klasy przechwytywania |
SimpleEvent FileOutput ExpOutput |
|
| opis | Występuje, gdy jeden z danych wyjściowych konsolidatora jest plikiem exp . | |
| FILE_INPUT | Typ | Proste zdarzenie |
| Elementy nadrzędne |
KOMPILATOR KONSOLIDATOR |
|
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wejściowego - Typ pliku wejściowego |
|
| Klasy przechwytywania |
SimpleEvent FileInput |
|
| opis | Występuje, aby ogłosić dane wejściowe cl.exe lub link.exe . | |
| FORCE_INLINEE | Typ | Proste zdarzenie |
| Elementy nadrzędne | FUNKCJA | |
| Dzieci | Brak | |
| Właściwości | - Nazwa funkcji wymuszonej. - Rozmiar funkcji wymuszonej, reprezentowany jako liczba instrukcji pośrednich. |
|
| Klasy przechwytywania |
Aktywność ForceInlinee |
|
| opis | Występuje, gdy funkcja jest wymuszana w innej funkcji za pomocą słowa kluczowego __forceinline . |
|
| FRONT_END_FILE | Typ | Działanie |
| Elementy nadrzędne |
C1_DLL FRONT_END_FILE |
|
| Dzieci |
FRONT_END_FILE Instancjowanie szablonu |
|
| Właściwości | - Ścieżka bezwzględna do pliku. | |
| Klasy przechwytywania |
Aktywność Plik FrontEnd |
|
| opis | Występuje po uruchomieniu frontonu kompilatora i zatrzymaniu przetwarzania pliku. To zdarzenie jest cykliczne. Rekursja występuje, gdy fronton analizuje dołączone pliki. | |
| PRZEKAZ INTERFEJSU UŻYTKOWNIKA | Typ | Działanie |
| Elementy nadrzędne | KOMPILATOR | |
| Dzieci |
C1_DLL MODUŁ HEADER_UNIT NAGŁÓWEK_PREKOMPILOWANY |
|
| Właściwości | - Ścieżka bezwzględna do pliku źródłowego wejściowego - Ścieżka bezwzględna do wyjściowego pliku obiektu |
|
| Klasy przechwytywania |
Aktywność KompilatorPass FrontEndPass |
|
| opis | Występuje na początku i zatrzymaniu przebiegu frontonu kompilatora. Ten dostęp jest odpowiedzialny za analizowanie kodu źródłowego C/C++ i konwertowanie go na język pośredni. | |
| FUNKCJA | Typ | Działanie |
| Elementy nadrzędne |
CODE_GENERATION NITKA TOP_DOWN |
|
| Dzieci | FORCE_INLINEE | |
| Właściwości | - Nazwa funkcji | |
| Klasy przechwytywania |
Aktywność Funkcja |
|
| opis | Występuje podczas uruchamiania i kończenia generowania kodu dla funkcji. | |
| HEADER_UNIT | Typ | Działanie |
| Elementy nadrzędne | FRONT_END_PASS | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
SimpleEvent TranslationUnitType HeaderUnit |
|
| opis | Występuje na początku przekazywania frontonu i reprezentuje, że jednostka tłumaczenia jednostki nagłówka jest przetwarzana. | |
| IMP_LIB_OUTPUT | Typ | Proste zdarzenie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wyjściowego biblioteki importu. | |
| Klasy przechwytywania |
SimpleEvent FileOutput ImpLibOutput |
|
| opis | Występuje, gdy jeden z danych wyjściowych konsolidatora jest biblioteką importu. | |
| LIB_OUTPUT | Typ | Proste zdarzenie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wyjściowego biblioteki statycznej. | |
| Klasy przechwytywania |
SimpleEvent FileOutput LibOutput |
|
| opis | Występuje, gdy jeden z danych wyjściowych konsolidatora jest biblioteką statyczną. | |
| KONSOLIDATOR | Typ | Działanie |
| Elementy nadrzędne | Brak | |
| Dzieci |
COMMAND_LINE ENVIRONMENT_VARIABLE EXECUTABLE_IMAGE_OUTPUT EXP_OUTPUT FILE_INPUT IMP_LIB_OUTPUT LIB_OUTPUT PASS1 PASS2 |
|
| Właściwości | - Wersja konsolidatora - Katalog roboczy - Ścieżka bezwzględna do wywoływanej link.exe |
|
| Klasy przechwytywania |
Aktywność Wywołania konsolidatora |
|
| opis | Występuje na początku i zatrzymaniu wywołania link.exe . | |
| LTCG | Typ | Działanie |
| Elementy nadrzędne | PASS1 | |
| Dzieci | C2_DLL | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność LTCG |
|
| opis | Występuje na początku i zatrzymaniu generowania kodu w czasie połączenia. | |
| MODUŁ | Typ | Działanie |
| Elementy nadrzędne | FRONT_END_PASS | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
SimpleEvent TranslationUnitType Moduł |
|
| opis | Występuje na początku przekazywania frontonu i reprezentuje przetwarzanie jednostki tłumaczenia modułu. | |
| OBIEKT_WYJŚCIOWY | Typ | Proste zdarzenie |
| Elementy nadrzędne | KOMPILATOR | |
| Dzieci | Brak | |
| Właściwości | - Ścieżka bezwzględna do pliku wyjściowego .obj | |
| Klasy przechwytywania |
SimpleEvent FileOutput ObjOutput |
|
| opis | Występuje raz dla każdego .obj danych wyjściowych generowanych przez cl.exe. | |
| OPT_ICF | Typ | Działanie |
| Elementy nadrzędne | PASS1 | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność OptICF |
|
| opis | Występuje na początku i zatrzymaniu identycznej optymalizacji konsolidatora COMDAT (/OPT:ICF). | |
| OPT_LBR | Typ | Działanie |
| Elementy nadrzędne | PASS1 | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność OptLBR |
|
| opis | Występuje na początku i zatrzymaniu długiej gałęzi (/OPT:LBR) optymalizacji konsolidatora. | |
| OPT_REF | Typ | Działanie |
| Elementy nadrzędne | PASS1 | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność OptRef |
|
| opis | Występuje na początku i zatrzymaniu nieużywanych funkcji i eliminacji danych (/OPT:REF) optymalizacji konsolidatora. | |
| PASS1 | Typ | Działanie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci |
LTCG OPT_ICF OPT_LBR OPT_REF |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Pass1 |
|
| opis | Występuje na początku i zatrzymaniu przebiegu konsolidatora 1. | |
| PASS2 | Typ | Działanie |
| Elementy nadrzędne | KONSOLIDATOR | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Pass2 |
|
| opis | Występuje na początku i zatrzymaniu przebiegu konsolidatora 2. | |
| NAGŁÓWEK WSTĘPNIE SKOMPILOWANY | Typ | Działanie |
| Elementy nadrzędne | FRONT_END_PASS | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
SimpleEvent TranslationUnitType PrekompiledHeader |
|
| opis | Występuje na początku przekazywania frontonu i reprezentuje, że jest przetwarzana wstępnie skompilowana jednostka tłumaczenia nagłówka (PCH). | |
| PRE_LTCG_OPT_REF | Typ | Działanie |
| Elementy nadrzędne | PASS1 | |
| Dzieci | Brak | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność PreLTCGOptRef |
|
| opis | Występuje na początku i zatrzymaniu przebiegu optymalizacji konsolidatora, który eliminuje niereferencyjne funkcje i dane (/OPT:REF). Odbywa się to przed wygenerowaniem kodu w czasie połączenia. | |
| SYMBOL_NAME | Typ | Proste zdarzenie |
| Elementy nadrzędne | C1_DLL | |
| Dzieci | Brak | |
| Właściwości | - Klucz typu - Nazwa typu |
|
| Klasy przechwytywania |
SimpleEvent SymbolName |
|
| opis | Występuje na końcu przekazywania frontonu: raz dla każdego typu zaangażowanego w tworzenie wystąpień szablonu. Klucz jest identyfikatorem liczbowym typu, a nazwa jest jego reprezentacją tekstową. Klucze typu są unikatowe w analizowanym śladzie. Jednak różne klucze pochodzące z różnych przebiegów frontonu kompilatora mogą wskazywać ten sam typ. Porównanie typów między różnymi przebiegami frontonu kompilatora wymaga użycia ich nazw. SYMBOL_NAME zdarzenia są emitowane na końcu przebiegu frontonu kompilatora, po wykonaniu wszystkich wystąpień szablonu. | |
| TEMPLATE_INSTANTIATION | Typ | Działanie |
| Elementy nadrzędne |
C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
| Dzieci | TEMPLATE_INSTANTIATION | |
| Właściwości | - Klucz dla wyspecjalizowanego typu — Klucz typu szablonu podstawowego - Rodzaj szablonu, który został utworzone wystąpienie |
|
| Klasy przechwytywania |
Aktywność Klasa TemplateInstantiation |
|
| opis | Występuje na początku i na końcu wystąpienia szablonu. Typ szablonu podstawowego (na przykład vector) jest tworzone wystąpienie, co powoduje utworzenie wyspecjalizowanego typu (takiego jak std::vector<int>). Klucz jest podawany dla obu typów.
Użyj zdarzenia SYMBOL_NAME, aby przekonwertować klucz na nazwę typu. Klucze typu są unikatowe w analizowanym śladzie. Jednak różne klucze pochodzące z różnych przebiegów frontonu kompilatora mogą wskazywać ten sam typ. Porównywanie typów między różnymi przebiegami frontonu kompilatora wymaga użycia nazw symboli. To zdarzenie jest cykliczne. Rekursja występuje w niektórych przypadkach, gdy fronton tworzy wystąpienie zagnieżdżonych szablonów. |
|
| NITKA | Typ | Działanie |
| Elementy nadrzędne |
CODE_GENERATION TOP_DOWN |
|
| Dzieci | FUNKCJA | |
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Nitka |
|
| opis | Występuje na początku i na końcu wykonywania wątku zaplecza kompilatora. Wstrzymany wątek jest uznawany za zakończony. Rozważany jest wątek, który jest obudzony. | |
| TOP_DOWN | Typ | Działanie |
| Elementy nadrzędne | CAŁOŚCIOWA_ANALIZA_PROGRAMU | |
| Dzieci |
FUNKCJA NITKA |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność Od góry do góry |
|
| opis | Występuje na początku i zatrzymaniu przekazywania od góry do góry w dół całej analizy programu. | |
| TYP_JEDNOSTKI_TRANSLACJI | Typ | Działanie |
| Elementy nadrzędne | FRONT_END_PASS | |
| Dzieci |
MODUŁ HEADER_UNIT NAGŁÓWEK_PREKOMPILOWANY |
|
| Właściwości | - Typ jednostki tłumaczenia. | |
| Klasy przechwytywania |
SimpleEvent TranslationUnitType |
|
| opis | Występuje na początku przejścia frontonu. Typ określa, czy ten przekazywanie przetwarza moduł, jednostkę nagłówka lub prekompilowany nagłówek. | |
| WHOLE_PROGRAM_ANALYSIS | Typ | Działanie |
| Elementy nadrzędne | C2_DLL | |
| Dzieci |
OD_DOLU_DO_GÓRY TOP_DOWN |
|
| Właściwości | Brak | |
| Klasy przechwytywania |
Aktywność WholeProgramAnalysis |
|
| opis | Występuje na początku i zatrzymaniu fazy analizy całego programu generowania kodu w czasie połączenia. |