Partilhar via


C++ Build Insights SDK: tabela de eventos

O C++ Build Insights SDK é compatível com o Visual Studio 2017 e posterior. Para ver a documentação destas versões, defina o controlo seletor de versão do Visual Studio para este artigo para Visual Studio 2017 ou posterior. Encontra-se na parte superior do índice desta página.

Eventos do compilador

COMPILADOR
LINHA_DE_COMANDO
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS

Eventos front-end do compilador

C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MÓDULO
HEADER_UNIT
PRECOMPILED_HEADER

Eventos de back-end do compilador

C2_DLL
ANÁLISE_COMPLETA_DO_PROGRAMA
De Cima para Baixo
DE BAIXO PARA CIMA
CODE_GENERATION
TÓPICO
FUNÇÃO
FORCE_INLINEE

Eventos de vinculação

VINCULADOR
LINHA_DE_COMANDO
ENVIRONMENT_VARIABLE
FILE_INPUT
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASSE1
PRE_LTCG_OPT_REF
LTCG
OPT_REF
OPT_ICF
OPT_LBR
PASSE2

Tabela de eventos

Evento Propriedade Descrição
BACK_END_PASS Tipo Atividade
Principais COMPILADOR
Subordinados C2_DLL
Propriedades - Caminho absoluto para o arquivo de origem de entrada
- Caminho absoluto para o ficheiro de objeto de saída
Classes de captura Atividade
CompilerPass
BackEndPass
Descrição Ocorre no início e na terminação da passagem de back-end do compilador. Este passo é responsável por otimizar o código-fonte C/C++ analisado e convertê-lo em código de máquina.
de baixo para cima Tipo Atividade
Principais ANÁLISE_COMPLETA_DO_PROGRAMA
Subordinados Nenhum
Propriedades Nenhum
Classes de captura Atividade
De baixo para cima
Descrição Ocorre no início e no fim de toda a passagem ascendente da análise do programa.
C1_DLL Tipo Atividade
Principais FRONT_END_PASS
Subordinados FRONT_END_FILE
SYMBOL_NAME
TEMPLATE_INSTANTIATION
Propriedades Nenhum
Classes de captura Atividade
C1DLL
Descrição Ocorre no início e no fim de uma c1.dll ou c1xx.dll invocação. Essas DLLs são o front-end C e C++ do compilador. Eles são invocados apenas pelo driver do compilador (cl.exe).
C2_DLL Tipo Atividade
Principais BACK_END_PASS
LTCG
Subordinados CODE_GENERATION
ANÁLISE_COMPLETA_DO_PROGRAMA
Propriedades Nenhum
Classes de captura Atividade
C2DLL
Descrição Ocorre no início e no fim de uma c2.dll invocação. Esta DLL é o back-end do compilador. É chamado pelo driver do compilador (cl.exe). Também é invocado pelo vinculador (link.exe) quando a geração de código de tempo de link é usada.
GERAÇÃO_DE_CÓDIGO Tipo Atividade
Principais C2_DLL
Subordinados FUNÇÃO
TÓPICO
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.
LINHA_DE_COMANDO Tipo Evento simples
Principais COMPILADOR
VINCULADOR
Subordinados Nenhum
Propriedades - A linha de comando que foi usada para invocar cl.exe ou link.exe
Classes de captura SimpleEvent
Linha de comando
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 através de um arquivo de resposta. Ele 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_.
COMPILADOR Tipo Atividade
Principais Nenhum
Subordinados BACK_END_PASS
LINHA_DE_COMANDO
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
Compilador
Descrição Ocorre no início e no fim de uma cl.exe invocação.
VARIÁVEL_DE_AMBIENTE Tipo Evento simples
Principais COMPILADOR
VINCULADOR
Subordinados Nenhum
Propriedades - O nome da variável de ambiente
- O valor da variável ambiente.
Classes de captura SimpleEvent
EnvironmentVariable
Descrição Ocorre uma vez para cada variável de ambiente existente no momento em que cl.exe ou link.exe são invocadas.
SAÍDA_DE_IMAGEM_EXECUTÁVEL Tipo Evento simples
Principais VINCULADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para uma DLL ou arquivo de saída executável.
Classes de captura SimpleEvent
FileOutput
ExecutableImageOutput
Descrição Ocorre quando uma das entradas do vinculador é uma DLL ou um arquivo de imagem executável.
EXP_OUTPUT Tipo Evento simples
Principais VINCULADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para um arquivo de saída .exp .
Classes de captura SimpleEvent
FileOutput
ExpOutput
Descrição Ocorre quando uma das saídas do vinculador é um arquivo .exp .
FILE_INPUT Tipo Evento simples
Principais COMPILADOR
VINCULADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para o arquivo de entrada
- O tipo de arquivo de entrada
Classes de captura SimpleEvent
FileInput
Descrição Ocorre para anunciar cl.exe ou link.exe entrada.
FORCE_INLINEE Tipo Evento simples
Principais FUNÇÃO
Subordinados Nenhum
Propriedades - O nome da função inline forçada.
- O tamanho da função embutida à força, representada como uma contagem de instruções em formato intermediário.
Classes de captura Atividade
ForceInlinee
Descrição Ocorre quando uma função está sendo inserida à força em outra função através do uso da __forceinline palavra-chave.
FRONT_END_FILE Tipo Atividade
Principais C1_DLL
FRONT_END_FILE
Subordinados FRONT_END_FILE
TEMPLATE_INSTANTIATION
Propriedades - Caminho absoluto para o arquivo.
Classes de captura Atividade
FrontEndFile
Descrição Ocorre quando o front-end do compilador inicia e para de processar um arquivo. Este evento é recursivo. A recursão acontece quando o front-end está analisando arquivos incluídos.
FRONT_END_PASS Tipo Atividade
Principais COMPILADOR
Subordinados C1_DLL
MÓDULO
HEADER_UNIT
PRECOMPILED_HEADER
Propriedades - Caminho absoluto para o arquivo de origem de entrada
- Caminho absoluto para o ficheiro de objeto de saída
Classes de captura Atividade
CompilerPass
FrontEndPass
Descrição Ocorre no início e no término da etapa front-end do compilador. Este passo é responsável por analisar o código-fonte C/C++ e convertê-lo em linguagem intermediária.
FUNÇÃO Tipo Atividade
Principais CODE_GENERATION
TÓPICO
De Cima para Baixo
Subordinados FORCE_INLINEE
Propriedades - Nome da função
Classes de captura Atividade
Função
Descrição Ocorre ao iniciar e terminar gerando o código para uma função.
HEADER_UNIT Tipo Atividade
Principais FRONT_END_PASS
Subordinados Nenhum
Propriedades Nenhum
Classes de captura SimpleEvent
TipoUnidadeTradução
Unidade de cabeçalho
Descrição Ocorre no início da passagem de front-end e representa que uma unidade de tradução de cabeçalho está a ser processada.
IMP_LIB_OUTPUT Tipo Evento simples
Principais VINCULADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para um arquivo de saída de biblioteca de importação.
Classes de captura SimpleEvent
FileOutput
ImpLibOutput
Descrição Ocorre quando uma das saídas do vinculador é uma biblioteca de importação.
LIB_OUTPUT Tipo Evento simples
Principais VINCULADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para um ficheiro de saída de uma biblioteca estática.
Classes de captura SimpleEvent
FileOutput
LibOutput
Descrição Ocorre quando uma das saídas do vinculador é uma biblioteca estática.
VINCULADOR Tipo Atividade
Principais Nenhum
Subordinados LINHA_DE_COMANDO
ENVIRONMENT_VARIABLE
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
FILE_INPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASSE1
PASSE2
Propriedades - Versão Linker
- Diretório de trabalho
- Caminho absoluto para o link.exe invocado
Classes de captura Atividade
Invocação
Vinculador
Descrição Ocorre no início e no fim de uma link.exe invocação.
LTCG Tipo Atividade
Principais PASSE1
Subordinados C2_DLL
Propriedades Nenhum
Classes de captura Atividade
LTCG
Descrição Ocorre no início e na paragem da geração de código durante o tempo de ligação.
MÓDULO Tipo Atividade
Principais FRONT_END_PASS
Subordinados Nenhum
Propriedades Nenhum
Classes de captura SimpleEvent
TipoUnidadeTradução
Módulo
Descrição Ocorre no início do passo de front-end e representa que uma unidade de tradução de módulo está sendo processada.
OBJ_OUTPUT Tipo Evento simples
Principais COMPILADOR
Subordinados Nenhum
Propriedades - O caminho absoluto para o arquivo de saída .obj
Classes de captura SimpleEvent
FileOutput
ObjOutput
Descrição Ocorre uma vez para cada saída .obj produzida por cl.exe.
OPT_ICF Tipo Atividade
Principais PASSE1
Subordinados Nenhum
Propriedades Nenhum
Classes de captura Atividade
OptICF
Descrição Ocorre no início e na parada da otimização idêntica do vinculador de dobragem COMDAT (/OPT:ICF).
OPT_LBR Tipo Atividade
Principais PASSE1
Subordinados 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
Principais PASSE1
Subordinados Nenhum
Propriedades Nenhum
Classes de captura Atividade
OptRef
Descrição Ocorre no início e no término da eliminação de funções e dados não referenciados nas otimizações do ligador (/OPT:REF).
ETAPA1 Tipo Atividade
Principais VINCULADOR
Subordinados LTCG
OPT_ICF
OPT_LBR
OPT_REF
Propriedades Nenhum
Classes de captura Atividade
Passe1
Descrição Ocorre no início e na parada do passe do vinculador 1.
PASSE2 Tipo Atividade
Principais VINCULADOR
Subordinados Nenhum
Propriedades Nenhum
Classes de captura Atividade
Passe2
Descrição Ocorre no início e na parada do passe do vinculador 2.
CABEÇALHO_PRÉ-COMPILADO Tipo Atividade
Principais FRONT_END_PASS
Subordinados Nenhum
Propriedades Nenhum
Classes de captura SimpleEvent
TipoUnidadeTradução
PrecompiledHeader
Descrição Ocorre no início do passo front-end e representa que uma unidade de conversão de cabeçalho pré-compilado (PCH) está sendo processada.
PRE_LTCG_OPT_REF Tipo Atividade
Principais PASSE1
Subordinados Nenhum
Propriedades Nenhum
Classes de captura Atividade
PreLTCGOptRef
Descrição Ocorre no início e na parada do passo 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 no tempo de ligação.
SYMBOL_NAME Tipo Evento simples
Principais C1_DLL
Subordinados Nenhum
Propriedades - Uma chave de tipo
- O nome do tipo
Classes de captura SimpleEvent
SymbolName
Descrição Ocorre no final do passo 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 sua representação de texto. As chaves de tipo são exclusivas dentro do traço em análise. No entanto, chaves diferentes provenientes de passagens front-end diferentes do compilador podem apontar para o mesmo tipo. A comparação de tipos entre diferentes passagens do front-end do compilador requer o uso dos seus nomes. eventos SYMBOL_NAME são emitidos no final de um passo front-end do compilador, após todas as instanciações de modelo ocorrerem.
TEMPLATE_INSTANTIATION Tipo Atividade
Principais C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
Subordinados TEMPLATE_INSTANTIATION
Propriedades - A chave para o tipo especializado
- A chave para o tipo do modelo primário
- O tipo de modelo que foi instanciado
Classes de captura Atividade
TemplateInstantiation
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 é dada para ambos os tipos. Use o evento SYMBOL_NAME para converter uma chave no nome do tipo. As chaves de tipo são exclusivas dentro do traço em análise. No entanto, chaves diferentes provenientes de passagens front-end diferentes do compilador podem apontar para o mesmo tipo. A comparação de tipos entre diferentes passagens front-end do compilador requer o uso de nomes de símbolos. Este evento é recursivo. A recursão acontece em alguns casos quando o front-end está instanciando modelos aninhados.
TÓPICO Tipo Atividade
Principais CODE_GENERATION
De Cima para Baixo
Subordinados FUNÇÃO
Propriedades Nenhum
Classes de captura Atividade
Tópico
Descrição Ocorre no início e no final de uma execução de thread de back-end do compilador. Um thread que está sendo suspenso é considerado encerrado. Um thread que está a ser ativado é considerado como iniciado.
TOP_DOWN Tipo Atividade
Principais ANÁLISE_COMPLETA_DO_PROGRAMA
Subordinados FUNÇÃO
TÓPICO
Propriedades Nenhum
Classes de captura Atividade
De cima para baixo
Descrição Ocorre no início e no fim da passagem de cima para baixo de toda a análise do programa.
TRANSLATION_UNIT_TYPE Tipo Atividade
Principais FRONT_END_PASS
Subordinados MÓDULO
HEADER_UNIT
PRECOMPILED_HEADER
Propriedades - O tipo de unidade de tradução.
Classes de captura SimpleEvent
TipoUnidadeTradução
Descrição Ocorre no início do passo 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.
ANÁLISE_DO_PROGRAMA_INTEIRO Tipo Atividade
Principais C2_DLL
Subordinados DE BAIXO PARA CIMA
De Cima para Baixo
Propriedades Nenhum
Classes de captura Atividade
WholeProgramAnalysis
Descrição Ocorre no início e no término da fase de análise do programa completo da geração de código em tempo de ligação.