Partager via


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.