SDK de C++ Build Insights: tabla de eventos
El SDK de C++ Build Insights es compatible con Visual Studio 2017 y versiones posteriores. Para ver la documentación de estas versiones, establezca el control de selector de Versión de Visual Studio para este artículo en Visual Studio 2017 o versiones posteriores. Se encuentra en la parte superior de la tabla de contenido de esta página.
Eventos del compilador
COMPILER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS
Eventos front-end de compilador
C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
Eventos de back-end de compilador
C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
THREAD
FUNCTION
FORCE_INLINEE
Eventos de enlazador
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
Tabla de eventos
Evento | Propiedad | Descripción |
---|---|---|
BACK_END_PASS | Tipo | Actividad |
Parents | COMPILER | |
Children | C2_DLL | |
Propiedades | -Ruta de acceso absoluta al archivo de origen de entrada -Ruta de acceso absoluta al archivo de objeto de salida |
|
Clases de captura | Actividad CompilerPass BackEndPass |
|
Descripción | Se produce al iniciar y detener el paso de back-end del compilador. Este paso es responsable de optimizar el código fuente de C/ C++ analizado y convertirlo en código máquina. | |
BOTTOM_UP | Tipo | Actividad |
Parents | WHOLE_PROGRAM_ANALYSIS | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad BottomUp |
|
Descripción | Se produce al iniciar y detener el pase de abajo arriba del análisis del programa entero. | |
C1_DLL | Tipo | Actividad |
Parents | FRONT_END_PASS | |
Children | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
Propiedades | None | |
Clases de captura | Actividad C1DLL |
|
Descripción | Se produce al iniciar y detener una invocación de c1.dll o c1xx.dll. Estos archivos DLL son front-end de C y C++ del compilador. Se invocan únicamente mediante el controlador del compilador (cl.exe). | |
C2_DLL | Tipo | Actividad |
Parents | BACK_END_PASS LTCG |
|
Children | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
Propiedades | None | |
Clases de captura | Actividad C2DLL |
|
Descripción | Se produce al iniciar y detener una invocación de c2.dll. Este archivo DLL es el back-end del compilador. Lo llama el controlador del compilador (cl.exe). También lo invoca el enlazador (link.exe) cuando se utiliza la generación de código en tiempo de vínculo. | |
CODE_GENERATION | Tipo | Actividad |
Parents | C2_DLL | |
Children | FUNCTION THREAD |
|
Propiedades | None | |
Clases de captura | Actividad CodeGeneration |
|
Descripción | Se produce al iniciar y detener la fase de generación de código del back-end. | |
COMMAND_LINE | Tipo | Evento sencillo |
Parents | COMPILER LINKER |
|
Children | None | |
Propiedades | -La línea de comandos que se usó para invocar cl.exe o link.exe | |
Clases de captura | SimpleEvent CommandLine |
|
Descripción | Se produce cuando el compilador y el enlazador finalizan la evaluación de la línea de comandos. La línea de comandos evaluada incluye todos los parámetros cl.exe y link.exe pasados mediante un archivo de respuesta. También incluye parámetros para cl.exe y link.exe pasados mediante variables de entorno, como CL, _CL_, LINK y _LINK_. | |
COMPILER | Tipo | Actividad |
Parents | None | |
Children | BACK_END_PASS COMMAND_LINE ENVIRONMENT_VARIABLE FILE_INPUT OBJ_OUTPUT FRONT_END_PASS |
|
Propiedades | -Versión del compilador -Directorio de trabajo -La ruta de acceso absoluta al archivo cl.exe invocado |
|
Clases de captura | Actividad Invocación Compilador |
|
Descripción | Se produce al iniciar y detener una invocación de cl.exe. | |
ENVIRONMENT_VARIABLE | Tipo | Evento sencillo |
Parents | COMPILER LINKER |
|
Children | None | |
Propiedades | -Nombre de la variable de entorno. -Valor de la variable de entorno. |
|
Clases de captura | SimpleEvent EnvironmentVariable |
|
Descripción | Se produce una vez para cada variable de entorno existente en el momento en que se invoca cl.exe o link.exe. | |
EXECUTABLE_IMAGE_OUTPUT | Tipo | Evento sencillo |
Parents | LINKER | |
Children | None | |
Propiedades | -La ruta de acceso absoluta a un archivo DLL o a un archivo de salida ejecutable. | |
Clases de captura | SimpleEvent FileOutput ExecutableImageOutput |
|
Descripción | Se produce cuando una de las entradas del enlazador es un archivo DLL o un archivo de imagen ejecutable. | |
EXP_OUTPUT | Tipo | Evento sencillo |
Parents | LINKER | |
Children | None | |
Propiedades | -La ruta de acceso absoluta a un archivo de salida .exp. | |
Clases de captura | SimpleEvent FileOutput ExpOutput |
|
Descripción | Se produce cuando una de las salidas del enlazador es un archivo .exp. | |
FILE_INPUT | Tipo | Evento sencillo |
Parents | COMPILER LINKER |
|
Children | None | |
Propiedades | -La ruta de acceso absoluta al archivo de entrada. -El tipo de archivo de entrada. |
|
Clases de captura | SimpleEvent FileInput |
|
Descripción | Se produce para anunciar una entrada cl.exe o link.exe. | |
FORCE_INLINEE | Tipo | Evento sencillo |
Parents | FUNCTION | |
Children | None | |
Propiedades | -El nombre de la función insertada por la fuerza. -El tamaño de la función insertada por la fuerza, representada como un recuento de instrucciones intermedias. |
|
Clases de captura | Actividad ForceInlinee |
|
Descripción | Se produce cuando una función se inserta por la fuerza en otra función mediante el uso de la palabra clave __forceinline . |
|
FRONT_END_FILE | Tipo | Actividad |
Parents | C1_DLL FRONT_END_FILE |
|
Children | FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Propiedades | -La ruta de acceso absoluta al archivo. | |
Clases de captura | Actividad FrontEndFile |
|
Descripción | Se produce cuando el front-end del compilador inicia y detiene el procesamiento de un archivo. Este evento es recursivo. La recursividad se produce cuando el front-end está analizando los archivos incluidos. | |
FRONT_END_PASS | Tipo | Actividad |
Parents | COMPILER | |
Children | C1_DLL MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propiedades | -Ruta de acceso absoluta al archivo de origen de entrada -Ruta de acceso absoluta al archivo de objeto de salida |
|
Clases de captura | Actividad CompilerPass FrontEndPass |
|
Descripción | Se produce al iniciar y detener el pase del front-end del compilador. Este pase es responsable de analizar el código fuente de C/C++ y convertirlo en lenguaje intermedio. | |
FUNCTION | Tipo | Actividad |
Parents | CODE_GENERATION THREAD TOP_DOWN |
|
Children | FORCE_INLINEE | |
Propiedades | -Nombre de la función. | |
Clases de captura | Actividad Función |
|
Descripción | Se produce al iniciar y finalizar la generación del código para una función. | |
HEADER_UNIT | Tipo | Actividad |
Parents | FRONT_END_PASS | |
Children | None | |
Propiedades | None | |
Clases de captura | SimpleEvent TranslationUnitType HeaderUnit |
|
Descripción | Se produce al principio del pase de front-end y representa que se está procesando una unidad de traducción de unidades de encabezado. | |
IMP_LIB_OUTPUT | Tipo | Evento sencillo |
Parents | LINKER | |
Children | None | |
Propiedades | -La ruta de acceso absoluta a un archivo de salida de la biblioteca de importación. | |
Clases de captura | SimpleEvent FileOutput ImpLibOutput |
|
Descripción | Se produce cuando una de las salidas del enlazador es una biblioteca de importación. | |
LIB_OUTPUT | Tipo | Evento sencillo |
Parents | LINKER | |
Children | None | |
Propiedades | -La ruta de acceso absoluta a un archivo de salida de la biblioteca estática. | |
Clases de captura | SimpleEvent FileOutput LibOutput |
|
Descripción | Se produce cuando una de las salidas del enlazador es una biblioteca estática. | |
LINKER | Tipo | Actividad |
Parents | None | |
Children | COMMAND_LINE ENVIRONMENT_VARIABLE EXECUTABLE_IMAGE_OUTPUT EXP_OUTPUT FILE_INPUT IMP_LIB_OUTPUT LIB_OUTPUT PASS1 PASS2 |
|
Propiedades | -Versión del enlazador. -Directorio de trabajo -La ruta de acceso absoluta al archivo link.exe invocado |
|
Clases de captura | Actividad Invocación Enlazador |
|
Descripción | Se produce al iniciar y detener una invocación de link.exe. | |
LTCG | Tipo | Actividad |
Parents | PASS1 | |
Children | C2_DLL | |
Propiedades | None | |
Clases de captura | Actividad LTCG |
|
Descripción | Se produce al iniciar y detener la generación de código en tiempo de vínculo. | |
MODULE | Tipo | Actividad |
Parents | FRONT_END_PASS | |
Children | None | |
Propiedades | None | |
Clases de captura | SimpleEvent TranslationUnitType Módulo |
|
Descripción | Se produce al principio del pase de front-end y representa que se está procesando una unidad de traducción de un módulo. | |
OBJ_OUTPUT | Tipo | Evento sencillo |
Parents | COMPILER | |
Children | None | |
Propiedades | -La ruta de acceso absoluta al archivo de salida .obj | |
Clases de captura | SimpleEvent FileOutput ObjOutput |
|
Descripción | Se produce una vez para cada salida . obj generada por cl.exe. | |
OPT_ICF | Tipo | Actividad |
Parents | PASS1 | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad OptICF |
|
Descripción | Se produce al iniciar y detener la optimización del enlazador de plegamientos de COMDAT idénticos (/OPT:ICF). | |
OPT_LBR | Tipo | Actividad |
Parents | PASS1 | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad OptLBR |
|
Descripción | Se produce al iniciar y detener la optimización del enlazador de rama larga (/OPT:LBR). | |
OPT_REF | Tipo | Actividad |
Parents | PASS1 | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad OptRef |
|
Descripción | Se produce al iniciar y detener las funciones sin referencia y la optimización del enlazador de la eliminación de datos (/OPT:REF). | |
PASS1 | Tipo | Actividad |
Parents | LINKER | |
Children | LTCG OPT_ICF OPT_LBR OPT_REF |
|
Propiedades | None | |
Clases de captura | Actividad Pass1 |
|
Descripción | Se produce al iniciar y detener el paso 1 del enlazador. | |
PASS2 | Tipo | Actividad |
Parents | LINKER | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad Pass2 |
|
Descripción | Se produce al iniciar y detener el paso 2 del enlazador. | |
PRECOMPILED_HEADER | Tipo | Actividad |
Parents | FRONT_END_PASS | |
Children | None | |
Propiedades | None | |
Clases de captura | SimpleEvent TranslationUnitType PrecompiledHeader |
|
Descripción | Se produce al principio del pase de front-end y representa que se está procesando una unidad de traducción de un encabezado precompilado (PCH). | |
PRE_LTCG_OPT_REF | Tipo | Actividad |
Parents | PASS1 | |
Children | None | |
Propiedades | None | |
Clases de captura | Actividad PreLTCGOptRef |
|
Descripción | Se produce al iniciar y detener el pase de optimización del enlazador que elimina las funciones y los datos sin referencia (/OPT:REF). Se realiza antes de la generación de código en tiempo de vínculo. | |
SYMBOL_NAME | Tipo | Evento sencillo |
Parents | C1_DLL | |
Children | None | |
Propiedades | -Una clave de tipo -El nombre del tipo. |
|
Clases de captura | SimpleEvent SymbolName |
|
Descripción | Se produce al final del pase del front-end: una vez por cada tipo implicado en las instancias de plantilla. La clave es un identificador numérico del tipo, mientras que el nombre es su representación de texto. Las claves de tipo son únicas en el seguimiento que se está analizando. Sin embargo, las distintas claves que provienen de diferentes pases del front-end del compilador pueden apuntar al mismo tipo. La comparación de tipos entre diferentes pases del front-end del compilador requiere el uso de sus nombres. Los eventos de SYMBOL_NAME se emiten al final de un pase del front-end del compilador, después de que se hayan realizado todas las creaciones de instancias de plantilla. | |
TEMPLATE_INSTANTIATION | Tipo | Actividad |
Parents | C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Children | TEMPLATE_INSTANTIATION | |
Propiedades | -La clave para el tipo especializado. -La clave del tipo de la plantilla principal -El tipo de plantilla de la que se ha creado una instancia. |
|
Clases de captura | Actividad TemplateInstantiation |
|
Descripción | Se produce al principio y al final de una instancia de plantilla. Se crea una instancia de un tipo de plantilla principal (como vector ), lo que da como resultado un tipo especializado (como std::vector<int> ). Se proporciona una clave para ambos tipos. Use el evento SYMBOL_NAME para convertir una clave en el nombre del tipo. Las claves de tipo son únicas en el seguimiento que se está analizando. Sin embargo, las distintas claves que provienen de diferentes pases del front-end del compilador pueden apuntar al mismo tipo. La comparación de tipos entre diferentes pases del front-end del compilador requiere el uso de nombres de símbolos. Este evento es recursivo. En algunos casos, la recursividad se produce cuando el front-end crea instancias de plantillas anidadas. |
|
THREAD | Tipo | Actividad |
Parents | CODE_GENERATION TOP_DOWN |
|
Children | FUNCTION | |
Propiedades | None | |
Clases de captura | Actividad Subproceso |
|
Descripción | Se produce al principio y al final de la ejecución de un subproceso del back-end del compilador. Un subproceso que se está suspendiendo se considera finalizado. Un subproceso que se está reactivando se considera iniciado. | |
TOP_DOWN | Tipo | Actividad |
Parents | WHOLE_PROGRAM_ANALYSIS | |
Children | FUNCTION THREAD |
|
Propiedades | None | |
Clases de captura | Actividad TopDown |
|
Descripción | Se produce al iniciar y detener el pase de arriba abajo del programa entero. | |
TRANSLATION_UNIT_TYPE | Tipo | Actividad |
Parents | FRONT_END_PASS | |
Children | MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propiedades | - Tipo de unidad de traducción | |
Clases de captura | SimpleEvent TranslationUnitType |
|
Descripción | Se produce al principio del pase de front-end. El tipo identifica si este pase está procesando un módulo, una unidad de encabezado o un encabezado precompilado. | |
WHOLE_PROGRAM_ANALYSIS | Tipo | Actividad |
Parents | C2_DLL | |
Children | BOTTOM_UP TOP_DOWN |
|
Propiedades | None | |
Clases de captura | Actividad WholeProgramAnalysis |
|
Descripción | Se produce al iniciar y detener la fase de análisis del programa entero de generación de código en tiempo de vínculo. |