Kit de développement logiciel (SDK) Build Insights C++ : table d’événements
Le SDK Build Insights C++ est compatible avec Visual Studio 2017 et ultérieur. Pour consulter la documentation de ces versions, définissez le contrôle de sélecteur Version de Visual Studio pour cet article sur Visual Studio 2017 ou ultérieur. Il se trouve en haut de la table des matières de cette page.
Événements du compilateur
COMPILATEUR
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS
Événements frontaux du compilateur
C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
Événements principaux du compilateur
C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
FIL
FUNCTION
FORCE_INLINEE
Événements Éditeur de liens
ÉDITEUR DE LIENS
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
Table d’événements
Événement | Propriété | Description |
---|---|---|
BACK_END_PASS | Type | Activité |
Parents | COMPILATEUR | |
Children | C2_DLL | |
Propriétés | - Chemin absolu du fichier source d’entrée - Chemin absolu du fichier objet de sortie |
|
Classes de capture | Activité CompilerPass BackEndPass |
|
Description | Se produit au début et à l’arrêt de la passe back-end du compilateur. Cette passe est chargée d’optimiser le code source C/C++ analysé et de le convertir en code machine. | |
BOTTOM_UP | Type | Activité |
Parents | WHOLE_PROGRAM_ANALYSIS | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité BottomUp |
|
Description | Se produit au début et à l’arrêt de la passe inférieure de l’analyse du programme. | |
C1_DLL | Type | Activité |
Parents | FRONT_END_PASS | |
Children | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité C1DLL |
|
Description | Se produit au début et à l’arrêt d’un appel de c1.dll ou de c1xx.dll . Ces DLL sont le serveur frontal C et C++ du compilateur. Ils sont appelés uniquement par le pilote du compilateur (cl.exe). | |
C2_DLL | Type | Activité |
Parents | BACK_END_PASS LTCG |
|
Children | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité C2DLL |
|
Description | Se produit au début et à l’arrêt d’un appel de c2.dll . Cette DLL est le serveur principal du compilateur. Il est appelé par le pilote du compilateur (cl.exe). Elle est également appelée par l’éditeur de liens (link.exe) lorsque la génération de code au moment du lien est utilisée. | |
CODE_GENERATION | Type | Activité |
Parents | C2_DLL | |
Children | FUNCTION FIL |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité CodeGeneration |
|
Description | Se produit au début et à l’arrêt de la phase de génération de code du back-end. | |
COMMAND_LINE | Type | Événement simple |
Parents | COMPILATEUR ÉDITEUR DE LIENS |
|
Children | Aucun(e) | |
Propriétés | - Ligne de commande utilisée pour appeler cl.exe ou link.exe | |
Classes de capture | SimpleEvent CommandLine |
|
Description | Se produit lorsque le compilateur et l’éditeur de liens ont terminé l’évaluation de la ligne de commande. La ligne de commande évaluée inclut tous les paramètres cl.exe et link.exe passés via un fichier réponse. Il inclut également des paramètres pour cl.exe et link.exe transmis via des variables d’environnement telles que CL, _CL_, LINK et _LINK_. | |
COMPILATEUR | Type | Activité |
Parents | Aucun(e) | |
Children | BACK_END_PASS COMMAND_LINE ENVIRONMENT_VARIABLE FILE_INPUT OBJ_OUTPUT FRONT_END_PASS |
|
Propriétés | - Version du compilateur - Répertoire de travail - Chemin absolu du cl.exe appelé |
|
Classes de capture | Activité Invocation Compilateur |
|
Description | Se produit au début et à l’arrêt d’un appel de cl.exe . | |
ENVIRONMENT_VARIABLE | Type | Événement simple |
Parents | COMPILATEUR ÉDITEUR DE LIENS |
|
Children | Aucun(e) | |
Propriétés | - Nom de la variable d’environnement - Valeur de la variable d’environnement. |
|
Classes de capture | SimpleEvent EnvironmentVariable |
|
Description | Se produit une fois pour chaque variable d’environnement existante au moment où cl.exe ou link.exe est appelée. | |
EXECUTABLE_IMAGE_OUTPUT | Type | Événement simple |
Parents | ÉDITEUR DE LIENS | |
Children | Aucun(e) | |
Propriétés | - Chemin absolu d’une DLL ou d’un fichier de sortie exécutable. | |
Classes de capture | SimpleEvent FileOutput ExecutableImageOutput |
|
Description | Se produit lorsqu’une des entrées de l’éditeur de liens est une DLL ou un fichier image exécutable. | |
EXP_OUTPUT | Type | Événement simple |
Parents | ÉDITEUR DE LIENS | |
Children | Aucun(e) | |
Propriétés | - Chemin absolu d’un fichier de sortie .exp . | |
Classes de capture | SimpleEvent FileOutput ExpOutput |
|
Description | Se produit quand l’une des sorties de l’éditeur de liens est un fichier .exp . | |
FILE_INPUT | Type | Événement simple |
Parents | COMPILATEUR ÉDITEUR DE LIENS |
|
Children | Aucun(e) | |
Propriétés | - Chemin absolu du fichier d’entrée - Type de fichier d’entrée |
|
Classes de capture | SimpleEvent FileInput |
|
Description | Se produit pour annoncer une entrée cl.exe ou link.exe . | |
FORCE_INLINEE | Type | Événement simple |
Parents | FUNCTION | |
Children | Aucun(e) | |
Propriétés | - Nom de la fonction force-inline. - Taille de la fonction en ligne forcée, représentée sous la forme d’un nombre d’instructions intermédiaire. |
|
Classes de capture | Activité ForceInlinee |
|
Description | Se produit lorsqu’une fonction est en cours d’inline dans une autre fonction par le biais de l’utilisation __forceinline du mot clé. |
|
FRONT_END_FILE | Type | Activité |
Parents | C1_DLL FRONT_END_FILE |
|
Children | FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Propriétés | - Chemin absolu du fichier. | |
Classes de capture | Activité FrontEndFile |
|
Description | Se produit lorsque le serveur frontal du compilateur démarre et arrête le traitement d’un fichier. Cet événement est récursif. La récursivité se produit lorsque le serveur frontal analyse les fichiers inclus. | |
FRONT_END_PASS | Type | Activité |
Parents | COMPILATEUR | |
Children | C1_DLL MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propriétés | - Chemin absolu du fichier source d’entrée - Chemin absolu du fichier objet de sortie |
|
Classes de capture | Activité CompilerPass FrontEndPass |
|
Description | Se produit au début et à l’arrêt de la passe frontale du compilateur. Cette passe est responsable de l’analyse du code source C/C++ et de sa conversion en langage intermédiaire. | |
FONCTION | Type | Activité |
Parents | CODE_GENERATION FIL TOP_DOWN |
|
Children | FORCE_INLINEE | |
Propriétés | - Nom de la fonction | |
Classes de capture | Activité Fonction |
|
Description | Se produit lors du démarrage et de la fin de la génération du code d’une fonction. | |
HEADER_UNIT | Type | Activité |
Parents | FRONT_END_PASS | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | SimpleEvent TranslationUnitType HeaderUnit |
|
Description | Se produit au début de la passe frontale et représente qu’une unité de traduction d’unité d’en-tête est en cours de traitement. | |
IMP_LIB_OUTPUT | Type | Événement simple |
Parents | ÉDITEUR DE LIENS | |
Children | Aucun(e) | |
Propriétés | - Chemin absolu d’un fichier de sortie de bibliothèque d’importation. | |
Classes de capture | SimpleEvent FileOutput ImpLibOutput |
|
Description | Se produit quand l’une des sorties de l’éditeur de liens est une bibliothèque d’importation. | |
LIB_OUTPUT | Type | Événement simple |
Parents | ÉDITEUR DE LIENS | |
Children | Aucun(e) | |
Propriétés | - Chemin absolu d’un fichier de sortie de bibliothèque statique. | |
Classes de capture | SimpleEvent FileOutput LibOutput |
|
Description | Se produit quand l’une des sorties de l’éditeur de liens est une bibliothèque statique. | |
ÉDITEUR DE LIENS | Type | Activité |
Parents | Aucun(e) | |
Children | COMMAND_LINE ENVIRONMENT_VARIABLE EXECUTABLE_IMAGE_OUTPUT EXP_OUTPUT FILE_INPUT IMP_LIB_OUTPUT LIB_OUTPUT PASS1 PASS2 |
|
Propriétés | - Version de l’éditeur de liens - Répertoire de travail - Chemin absolu du link.exe appelé |
|
Classes de capture | Activité Invocation Linker |
|
Description | Se produit au début et à l’arrêt d’un appel de link.exe . | |
LTCG | Type | Activité |
Parents | PASS1 | |
Children | C2_DLL | |
Propriétés | Aucun(e) | |
Classes de capture | Activité LTCG |
|
Description | Se produit au début et à l’arrêt de la génération de code au moment du lien. | |
MODULE | Type | Activité |
Parents | FRONT_END_PASS | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | SimpleEvent TranslationUnitType Module |
|
Description | Se produit au début de la passe frontale et représente qu’une unité de traduction de module est en cours de traitement. | |
OBJ_OUTPUT | Type | Événement simple |
Parents | COMPILATEUR | |
Children | Aucun(e) | |
Propriétés | - Chemin absolu du fichier de sortie .obj | |
Classes de capture | SimpleEvent FileOutput ObjOutput |
|
Description | Se produit une fois pour chaque sortie .obj produite par cl.exe. | |
OPT_ICF | Type | Activité |
Parents | PASS1 | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité OptICF |
|
Description | Se produit au début et à l’arrêt de l’optimisation de l’éditeur de liens COMDAT identique (/OPT :ICF). | |
OPT_LBR | Type | Activité |
Parents | PASS1 | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité OptLBR |
|
Description | Se produit au début et à l’arrêt de l’optimisation de l’éditeur de liens de branche longue (/OPT :LBR). | |
OPT_REF | Type | Activité |
Parents | PASS1 | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité OptRef |
|
Description | Se produit au début et à l’arrêt des fonctions non référencées et de l’optimisation de l’éditeur de liens (/OPT :REF). | |
PASS1 | Type | Activité |
Parents | ÉDITEUR DE LIENS | |
Children | LTCG OPT_ICF OPT_LBR OPT_REF |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité Pass1 |
|
Description | Se produit au début et à l’arrêt de la passe 1 de l’éditeur de liens. | |
PASS2 | Type | Activité |
Parents | ÉDITEUR DE LIENS | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité Pass2 |
|
Description | Se produit au début et à l’arrêt de la passe 2 de l’éditeur de liens. | |
PRECOMPILED_HEADER | Type | Activité |
Parents | FRONT_END_PASS | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | SimpleEvent TranslationUnitType PrecompiledHeader |
|
Description | Se produit au début de la passe frontale et représente qu’une unité de traduction d’en-tête précompilée (PCH) est en cours de traitement. | |
PRE_LTCG_OPT_REF | Type | Activité |
Parents | PASS1 | |
Children | Aucun(e) | |
Propriétés | Aucun(e) | |
Classes de capture | Activité PreLTCGOptRef |
|
Description | Se produit au début et à l’arrêt de la passe d’optimisation de l’éditeur de liens qui élimine les fonctions et données non référencées (/OPT :REF). Elle est effectuée avant la génération de code au moment du lien. | |
SYMBOL_NAME | Type | Événement simple |
Parents | C1_DLL | |
Children | Aucun(e) | |
Propriétés | - Une clé de type - Nom du type |
|
Classes de capture | SimpleEvent SymbolName |
|
Description | Se produit à la fin de la passe frontale : une fois pour chaque type impliqué dans les instanciations de modèle. La clé est un identificateur numérique pour le type, tandis que le nom est sa représentation textuelle. Les clés de type sont uniques dans la trace en cours d’analyse. Toutefois, différentes clés provenant de différents passes frontaux du compilateur peuvent pointer vers le même type. La comparaison des types entre différents passes frontaux du compilateur nécessite l’utilisation de leurs noms. SYMBOL_NAME événements sont émis à la fin d’une passe frontale du compilateur, une fois que toutes les instanciations de modèle ont eu lieu. | |
TEMPLATE_INSTANTIATION | Type | Activité |
Parents | C1_DLL FRONT_END_FILE TEMPLATE_INSTANTIATION |
|
Children | TEMPLATE_INSTANTIATION | |
Propriétés | - Clé pour le type spécialisé - Clé pour le type du modèle principal - Type de modèle instancié |
|
Classes de capture | Activité TemplateInstantiation |
|
Description | Se produit au début et à la fin d’une instanciation de modèle. Un type de modèle principal (par exemple vector ) est instancié, ce qui entraîne un type spécialisé (par std::vector<int> exemple). Une clé est donnée pour les deux types. Utilisez l’événement SYMBOL_NAME pour convertir une clé en nom du type. Les clés de type sont uniques dans la trace en cours d’analyse. Toutefois, différentes clés provenant de différents passes frontaux du compilateur peuvent pointer vers le même type. La comparaison des types entre différents passages frontaux du compilateur nécessite l’utilisation de noms de symboles. Cet événement est récursif. La récursivité se produit dans certains cas lorsque le serveur frontal instancie des modèles imbriqués. |
|
FIL | Type | Activité |
Parents | CODE_GENERATION TOP_DOWN |
|
Children | FUNCTION | |
Propriétés | Aucun(e) | |
Classes de capture | Activité Thread |
|
Description | Se produit au début et à la fin d’une exécution de thread principal du compilateur. Un thread suspendu est considéré comme terminé. Un thread en cours de réveil est considéré comme démarré. | |
TOP_DOWN | Type | Activité |
Parents | WHOLE_PROGRAM_ANALYSIS | |
Children | FUNCTION FIL |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité TopDown |
|
Description | Se produit au début et à l’arrêt de la passe supérieure de l’analyse du programme. | |
TRANSLATION_UNIT_TYPE | Type | Activité |
Parents | FRONT_END_PASS | |
Children | MODULE HEADER_UNIT PRECOMPILED_HEADER |
|
Propriétés | - Type d’unité de traduction. | |
Classes de capture | SimpleEvent TranslationUnitType |
|
Description | Se produit au début de la passe frontale. Le type identifie si cette passe traite un module, une unité d’en-tête ou un en-tête précompilé. | |
WHOLE_PROGRAM_ANALYSIS | Type | Activité |
Parents | C2_DLL | |
Children | BOTTOM_UP TOP_DOWN |
|
Propriétés | Aucun(e) | |
Classes de capture | Activité WholeProgramAnalysis |
|
Description | Se produit au début et à l’arrêt de la phase d’analyse de l’ensemble du programme de génération de code au moment de la liaison. |