SDK do C++ Build Insights: tabela de eventos
O SDK do C++ Build Insights é compatível com o Visual Studio 2017 e posterior. Para ver a documentação dessas versões, defina o controle seletor de Versão do Visual Studio deste artigo para o Visual Studio 2017 ou posterior. Ele é encontrado na parte superior da tabela de conteúdo nesta página.
Eventos do compilador
COMPILER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS
Eventos de front-end do compilador
C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
Eventos de back-end do compilador
C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
THREAD
FUNCTION
FORCE_INLINEE
Eventos do vinculador
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
Tabela de eventos
Evento | Propriedade | Descrição |
---|---|---|
BACK_END_PASS | Tipo | Atividade |
Pais | COMPILER | |
Filhos | C2_DLL | |
Propriedades | − Caminho absoluto para o arquivo de origem de entrada. − Caminho absoluto para o arquivo de objeto de saída. |
|
Classes de captura | Atividade CompilerPass Passe de Volta |
|
Descrição | Ocorre no início e na parada da passagem de back-end do compilador. Essa passagem é responsável por otimizar o código-fonte C/C++ analisado e convertê-lo em código de máquina. | |
BOTTOM_UP | Tipo | Atividade |
Pais | WHOLE_PROGRAM_ANALYSIS | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade De baixo para cima |
|
Descrição | Ocorre no início e na parada da passagem ascendente da análise de todo o programa. | |
C1_DLL | Tipo | Atividade |
Pais | FRONT_END_PASS | |
Filhos | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
Propriedades | Nenhum | |
Classes de captura | Atividade C1DLL |
|
Descrição | Ocorre no início e na parada de uma invocação de c1.dll ou c1xx.dll. Essas DLLs são o front-end C e C++ do compilador. Elas são invocadas apenas pelo driver do compilador (cl.exe). | |
C2_DLL | Tipo | Atividade |
Pais | BACK_END_PASS LTCG |
|
Filhos | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
Propriedades | Nenhum | |
Classes de captura | Atividade C2DLL |
|
Descrição | Ocorre no início e na parada de uma invocação de c2.dll. Essa DLL é o back-end do compilador. Ela é chamada pelo driver do compilador (cl.exe). Também é invocada pelo vinculador (link.exe) quando a geração de código durante o tempo de vinculação é usada. | |
CODE_GENERATION | Tipo | Atividade |
Pais | C2_DLL | |
Filhos | FUNCTION THREAD |
|
Propriedades | Nenhum | |
Classes de captura | Atividade Geração de código |
|
Descrição | Ocorre no início e na parada da fase de geração de código do back-end. | |
COMMAND_LINE | Tipo | Evento Simples |
Pais | COMPILER LINKER |
|
Filhos | Nenhum | |
Propriedades | − A linha de comando que foi usada para invocar cl.exe ou link.exe. | |
Classes de captura | Evento Simples CommandLine |
|
Descrição | Ocorre quando o compilador e o vinculador terminam de avaliar a linha de comando. A linha de comando avaliada inclui todos os parâmetros cl.exe e link.exe passados por meio de um arquivo de resposta. Também inclui parâmetros para cl.exe e link.exe passados por meio de variáveis de ambiente como CL, _CL_, LINK e _LINK_. | |
COMPILER | Tipo | Atividade |
Pais | Nenhum | |
Filhos | BACK_END_PASS COMMAND_LINE ENVIRONMENT_VARIABLE FILE_INPUT OBJ_OUTPUT FRONT_END_PASS |
|
Propriedades | − Versão do compilador. − Diretório de trabalho. − Caminho absoluto para o cl.exe invocado. |
|
Classes de captura | Atividade Invocação Compiler |
|
Descrição | Ocorre no início e na parada de uma invocação de cl.exe. | |
ENVIRONMENT_VARIABLE | Tipo | Evento Simples |
Pais | COMPILER LINKER |
|
Filhos | Nenhum | |
Propriedades | − O nome da variável de ambiente. − O valor da variável de ambiente. |
|
Classes de captura | Evento Simples Variável de ambiente |
|
Descrição | Ocorre uma vez para cada variável de ambiente existente no momento em que cl.exe ou link.exe é invocado. | |
EXECUTABLE_IMAGE_OUTPUT | Tipo | Evento Simples |
Pais | LINKER | |
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para uma DLL ou arquivo de saída executável. | |
Classes de captura | Evento Simples Saída de arquivo Saída de imagem executável |
|
Descrição | Ocorre quando uma das entradas do vinculador é uma DLL ou um arquivo de imagem executável. | |
EXP_OUTPUT | Tipo | Evento Simples |
Pais | LINKER | |
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para um arquivo de saída .exp. | |
Classes de captura | Evento Simples Saída de arquivo Saída de Experiência |
|
Descrição | Ocorre quando uma das saídas do vinculador é um arquivo .exp. | |
FILE_INPUT | Tipo | Evento Simples |
Pais | COMPILER LINKER |
|
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para o arquivo de entrada. − O tipo do arquivo de entrada. |
|
Classes de captura | Evento Simples Entrada de arquivo |
|
Descrição | Ocorre para anunciar uma entrada de cl.exe ou link.exe. | |
FORCE_INLINEE | Tipo | Evento Simples |
Pais | FUNCTION | |
Filhos | Nenhum | |
Propriedades | − O nome da função embutida forçada. − O tamanho da função embutida forçada, representada como uma contagem de instruções intermediária. |
|
Classes de captura | Atividade ForceInlinee |
|
Descrição | Ocorre quando uma função está sendo forçada em outra função por meio do uso da palavra-chave __forceinline . |
|
FRONT_END_FILE | Tipo | Atividade |
Pais | C1_DLL FRONT_END_FILE |
|
Filhos | FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Propriedades | − Caminho absoluto para o arquivo. | |
Classes de captura | Atividade Arquivo FrontEndFrontEndFileFrontEndT |
|
Descrição | Ocorre quando o front-end do compilador inicia e para de processar um arquivo. Esse evento é recursivo. A recursão acontece quando o front-end está analisando os arquivos incluídos. | |
FRONT_END_PASS | Tipo | Atividade |
Pais | COMPILER | |
Filhos | C1_DLL MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propriedades | − Caminho absoluto para o arquivo de origem de entrada. − Caminho absoluto para o arquivo de objeto de saída. |
|
Classes de captura | Atividade CompilerPass Passe de FrontEndPass |
|
Descrição | Ocorre no início e na parada da passagem de front-end do compilador. Essa passagem é responsável por analisar o código-fonte C/C++ e convertê-lo em linguagem intermediária. | |
FUNCTION | Tipo | Atividade |
Pais | CODE_GENERATION THREAD TOP_DOWN |
|
Filhos | FORCE_INLINEE | |
Propriedades | − Nome da função | |
Classes de captura | Atividade Função |
|
Descrição | Ocorre ao iniciar e encerrar a geração do código para uma função. | |
HEADER_UNIT | Tipo | Atividade |
Pais | FRONT_END_PASS | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Evento Simples TranslationUnitType HeaderUnit |
|
Descrição | Ocorre no início da passagem de front-end e representa que uma unidade de tradução da unidade de cabeçalho está sendo processada. | |
IMP_LIB_OUTPUT | Tipo | Evento Simples |
Pais | LINKER | |
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para um arquivo de saída da biblioteca de importação. | |
Classes de captura | Evento Simples Saída de arquivo ImpLibOutput |
|
Descrição | Ocorre quando uma das saídas do vinculador é uma biblioteca de importação. | |
LIB_OUTPUT | Tipo | Evento Simples |
Pais | LINKER | |
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para um arquivo de saída de biblioteca estática. | |
Classes de captura | Evento Simples Saída de arquivo Saída Lib |
|
Descrição | Ocorre quando uma das saídas do vinculador é uma biblioteca estática. | |
LINKER | Tipo | Atividade |
Pais | Nenhum | |
Filhos | COMMAND_LINE ENVIRONMENT_VARIABLE EXECUTABLE_IMAGE_OUTPUT EXP_OUTPUT FILE_INPUT IMP_LIB_OUTPUT LIB_OUTPUT PASS1 PASS2 |
|
Propriedades | – Versão do vinculador. − Diretório de trabalho. − Caminho absoluto para o link.exe invocado. |
|
Classes de captura | Atividade Invocação Linker |
|
Descrição | Ocorre no início e na parada de uma invocação de link.exe. | |
LTCG | Tipo | Atividade |
Pais | PASS1 | |
Filhos | C2_DLL | |
Propriedades | Nenhum | |
Classes de captura | Atividade LTCG |
|
Descrição | Ocorre no início e na parada da geração de código durante o tempo de vinculação. | |
MODULE | Tipo | Atividade |
Pais | FRONT_END_PASS | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Evento Simples TranslationUnitType Módulo |
|
Descrição | Ocorre no início da passagem de front-end e representa que uma unidade de tradução de módulo está sendo processada. | |
OBJ_OUTPUT | Tipo | Evento Simples |
Pais | COMPILER | |
Filhos | Nenhum | |
Propriedades | − O caminho absoluto para o arquivo de saída .obj. | |
Classes de captura | Evento Simples Saída de arquivo Saída Obj |
|
Descrição | Ocorre uma vez para cada saída .obj produzida por cl.exe. | |
OPT_ICF | Tipo | Atividade |
Pais | PASS1 | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade OptICF |
|
Descrição | Ocorre no início e na parada da otimização do vinculador de dobra COMDAT idêntica (/OPT:ICF). | |
OPT_LBR | Tipo | Atividade |
Pais | PASS1 | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade OptLBR |
|
Descrição | Ocorre no início e na parada da otimização do vinculador de ramificação longa (/OPT:LBR). | |
OPT_REF | Tipo | Atividade |
Pais | PASS1 | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade OptRef |
|
Descrição | Ocorre no início e na parada das funções não referenciadas e da otimização do vinculador de eliminação de dados (/OPT:REF). | |
PASS1 | Tipo | Atividade |
Pais | LINKER | |
Filhos | LTCG OPT_ICF OPT_LBR OPT_REF |
|
Propriedades | Nenhum | |
Classes de captura | Atividade Pass1 |
|
Descrição | Ocorre no início e na parada da passagem 1 do vinculador. | |
PASS2 | Tipo | Atividade |
Pais | LINKER | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade Pass2 |
|
Descrição | Ocorre no início e na parada da passagem 2 do vinculador. | |
PRECOMPILED_HEADER | Tipo | Atividade |
Pais | FRONT_END_PASS | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Evento Simples TranslationUnitType PrecompiledHeader |
|
Descrição | Ocorre no início da passagem de front-end e representa que uma unidade de tradução de cabeçalho pré-compilado (PCH) está sendo processada. | |
PRE_LTCG_OPT_REF | Tipo | Atividade |
Pais | PASS1 | |
Filhos | Nenhum | |
Propriedades | Nenhum | |
Classes de captura | Atividade PreLTCGOptRef |
|
Descrição | Ocorre no início e na parada da passagem de otimização do vinculador que elimina funções e dados não referenciados (/OPT:REF). Isso é feito antes da geração de código durante o tempo de vinculação. | |
SYMBOL_NAME | Tipo | Evento Simples |
Pais | C1_DLL | |
Filhos | Nenhum | |
Propriedades | − Uma chave de tipo. − O nome do tipo. |
|
Classes de captura | Evento Simples Nome do símbolo |
|
Descrição | Ocorre no final da passagem de front-end: uma vez para cada tipo envolvido em instanciações de modelo. A chave é um identificador numérico para o tipo, enquanto o nome é a representação de texto. As chaves de tipo são exclusivas no rastreamento sendo analisado. No entanto, diferentes chaves provenientes de diferentes passagens de front-end do compilador podem apontar para o mesmo tipo. Comparar tipos entre diferentes passagens de front-end do compilador requer o uso dos nomes. Os eventos SYMBOL_NAME são emitidos no final de uma passagem de front-end do compilador, após a ocorrência de todas as instanciações de modelo. | |
TEMPLATE_INSTANTIATION | Tipo | Atividade |
Pais | C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Filhos | TEMPLATE_INSTANTIATION | |
Propriedades | − A chave para o tipo especializado. − A chave para o tipo do modelo principal. − O tipo de modelo que foi instanciado. |
|
Classes de captura | Atividade Instância de modelo |
|
Descrição | Ocorre no início e no final de uma instanciação de modelo. Um tipo de modelo primário (como vector ) é instanciado, resultando em um tipo especializado (como std::vector<int> ). Uma chave é fornecida para ambos os tipos. Use o evento SYMBOL_NAME para converter uma chave no nome do tipo. As chaves de tipo são exclusivas no rastreamento sendo analisado. No entanto, diferentes chaves provenientes de diferentes passagens de front-end do compilador podem apontar para o mesmo tipo. Comparar tipos entre diferentes passagens de front-end do compilador requer o uso de nomes de símbolos. Esse evento é recursivo. A recursão ocorre em alguns casos quando o front-end está instanciando modelos aninhados. |
|
THREAD | Tipo | Atividade |
Pais | CODE_GENERATION TOP_DOWN |
|
Filhos | FUNCTION | |
Propriedades | Nenhum | |
Classes de captura | Atividade Thread |
|
Descrição | Ocorre no início e no final de uma execução de thread de back-end do compilador. Um thread sendo suspenso é considerado encerrado. Um thread sendo ativado é considerado iniciado. | |
TOP_DOWN | Tipo | Atividade |
Pais | WHOLE_PROGRAM_ANALYSIS | |
Filhos | FUNCTION THREAD |
|
Propriedades | Nenhum | |
Classes de captura | Atividade De cima para baixo |
|
Descrição | Ocorre no início e na parada da passagem decrescente da análise de todo o programa. | |
TRANSLATION_UNIT_TYPE | Tipo | Atividade |
Pais | FRONT_END_PASS | |
Filhos | MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propriedades | − O tipo de unidade de tradução. | |
Classes de captura | Evento Simples TranslationUnitType |
|
Descrição | Ocorre no início da passagem de front-end. O tipo identifica se essa passagem está processando um módulo, uma unidade de cabeçalho ou um cabeçalho pré-compilado. | |
WHOLE_PROGRAM_ANALYSIS | Tipo | Atividade |
Pais | C2_DLL | |
Filhos | BOTTOM_UP TOP_DOWN |
|
Propriedades | Nenhum | |
Classes de captura | Atividade Análise de WholeProgram |
|
Descrição | Ocorre no início e na parada da fase de análise de todo o programa da geração de código durante o tempo de vinculação. |