VSInstrVSInstr

L’outil VSInstr est utilisé pour instrumenter des ressources binaires.The VSInstr tool is used to instrument binaries. Il est appelé à l’aide de la syntaxe suivante :It is invoked by using the following syntax:

VSInstr [/U] filename [/options]

Le tableau suivant décrit les options de l’outil VSInstr :The following table describes VSInstr tool options:

OptionsOptions DescriptionDescription
Help ou ?Help or ? Affiche de l’aide.Displays help.
UU Écrit la sortie redirigée de la console au format Unicode.Writes the redirected console output as Unicode. Cela doit être la première option spécifiée.It must be first option specified.
@filename Spécifie le nom d’un fichier réponse qui contient une option de commande par ligne.Specifies the name of a response file that contains one command option per line. N’utilisez pas de guillemets.Do not use quotation marks.
OutputPath :pathOutputPath :path Spécifie un répertoire de destination pour l’image instrumentée.Specifies a destination directory for the instrumented image. Si aucun chemin de sortie n’est spécifié, le binaire d’origine est renommé en ajoutant « Orig » au nom de fichier dans le même répertoire, et une copie du binaire est instrumentée.If an output path is not specified, the original binary is renamed by appending "Orig" to the file name in the same directory, and a copy of the binary is instrumented.
Exclude :funcspecExclude :funcspec Spécifie une spécification de fonction à exclure de l’instrumentation par les sondes.Specifies a function specification to exclude from instrumentation by probes. Cette option est utile quand le profilage d’une insertion de sondes dans une fonction provoque des résultats inattendus ou non souhaités.It is useful when profiling probe insertion in a function causes unpredictable or unwanted results.

N’utilisez pas d’options Exclude et Include qui font référence à des fonctions dans le même binaire.Do not use Exclude and Include options that refer to functions in the same binary.

Vous pouvez spécifier plusieurs spécifications de fonction avec différentes options Exclude.You can specify multiple function specification with separate Exclude options.

funcspec est défini comme suit :funcspec is a defined as:

[espace de noms<séparateur1>] [classe<séparateur2>]fonction[namespace<separator1>] [class<separator2>]function

<séparateur1> est :: pour le code natif, et . pour le code managé.<separator1> is :: for native code, and . for managed code.

<séparateur2> est toujours ::.<separator2> is always ::

Exclude est pris en charge avec la couverture du code.Exclude is supported with code coverage.

Le caractère générique * est pris en charge.The wildcard character * is supported. Par exemple, pour exclure toutes les fonctions dans un espace de noms, utilisez :For example, to exclude all functions in a namespace use:

nom_espace_de_noms::*MyNamespace::*

Vous pouvez utiliser VSInstr /DumpFuncs pour répertorier les noms complets des fonctions dans le binaire spécifié.You can use VSInstr /DumpFuncs to list the complete names of functions in the specified binary.
Include :funcspecInclude :funcspec Spécifie une spécification de fonction dans un binaire à instrumenter avec les sondes.Specifies a function specification in a binary to instrument with probes. Toutes les autres fonctions dans les binaires ne sont pas instrumentées.All other functions in the binaries are not instrumented.

Vous pouvez spécifier plusieurs spécifications de fonction avec différentes options Include.You can specify multiple function specifications with separate Include options.

N’utilisez pas d’options Include et Exclude qui font référence à des fonctions dans le même binaire.Do not use Include and Exclude options that refer to functions in the same binary.

Include n’est pas pris en charge avec la couverture du code.Include is not supported with code coverage.

funcspec est défini comme suit :funcspec is a defined as:

[espace de noms<séparateur1>] [classe<séparateur2>]fonction[namespace<separator1>] [class<separator2>]function

<séparateur1> est :: pour le code natif, et . pour le code managé.<separator1> is :: for native code, and . for managed code.

<séparateur2> est toujours ::.<separator2> is always ::

Le caractère générique * est pris en charge.The wildcard character * is supported. Par exemple, pour inclure toutes les fonctions dans un espace de noms, utilisez :For example, to include all functions in a namespace use:

nom_espace_de_noms::*MyNamespace::*

Vous pouvez utiliser VSInstr /DumpFuncs pour répertorier les noms complets des fonctions dans le binaire spécifié.You can use VSInstr /DumpFuncs to list the complete names of functions in the specified binary.
DumpFuncsDumpFuncs Répertorie les fonctions dans l’image spécifiée.Lists the functions within the specified image. Aucune instrumentation n’est effectuée.No instrumentation is performed.
ExcludeSmallFuncsExcludeSmallFuncs Exclut de l’instrumentation les petites fonctions (fonctions courtes qui n’effectuent pas d’appels de fonction).Excludes small functions, which are short functions that do not make any function calls, from instrumentation. L’option ExcludeSmallFuncs permet de réduire la charge liée à l’instrumentation et donc d’accélérer celle-ci.The ExcludeSmallFuncs option provides for less instrumentation overhead a thus improved instrumentation speed.

L’exclusion des petites fonctions réduit également la taille du fichier .vsp et le temps nécessaire à l’analyse.The exclusion of small functions also reduces the .vsp file size and time required for analysis.
Mark:{Before&#124;After&#124;Top&#124;Bottom},funcname,markidMark:{Before&#124;After&#124;Top&#124;Bottom},funcname,markid Insère une marque de profil (identificateur utilisé pour délimiter les données dans les rapports) que vous pouvez utiliser pour identifier le début ou la fin d’une plage de données dans le fichier de rapport .vsp.Inserts a profile mark (an identifier used to delimit the data in reports) that you can use to identify the start or end of a data range in the .vsp report file.

Before : juste avant l’entrée dans la fonction cible.Before - Immediately before the target function entry.

After : juste après la sortie de la fonction cible.After - Immediately after the target function exit.

Top : juste après l’entrée dans la fonction cible.Top - Immediately after the target function entry.

Bottom : juste avant chaque retour dans la fonction cible.Bottom - Immediately before each return in the target function.

funcname : nom de la fonction ciblefuncname - Name of the target function

Markid : entier positif (long) à utiliser comme identificateur de la marque de profil.Markid - A positive integer (long) to use as the identifier of the profile mark.
CoverageCoverage Exécute l’instrumentation de la couverture.Performs coverage instrumentation. Peut être utilisée uniquement avec les options suivantes : Verbose, OutputPath, Exclude, and Logfile.It can be used only with the following options: Verbose, OutputPath, Exclude, and Logfile..
VerboseVerbose L’option Verbose permet d’afficher des informations détaillées sur le processus d’instrumentation.The Verbose option is used to view detailed information about the instrumentation process.
NoWarn [:[Message Number[;Message Number]]]NoWarn [:[Message Number[;Message Number]]] Supprimer la totalité ou une partie spécifique des avertissements.Suppress all or specific warnings.

Message Number : numéro d’avertissement.Message Number - the warning number. Si Message Number est omis, tous les avertissements sont supprimés.If Message Number is omitted, all warnings are suppressed.

Pour plus d’informations, consultez Avertissements VSInstr.For more information, see VSInstr Warnings.
Control :{ Thread &#124; Process &#124; Global }Control :{ Thread &#124; Process &#124; Global } Spécifie le niveau de profilage des options suivantes du contrôle de la collecte de données VSInstr :Specifies the profiling level of the following VSInstr data collection control Options:

StartStart

StartOnlyStartOnly

SuspendSuspend

StopOnlyStopOnly

SuspendOnlySuspendOnly

ResumeOnlyResumeOnly

Thread : spécifie les fonctions de contrôle de collecte de données au niveau du thread.Thread - specifies thread-level data collection control functions. Le profilage est démarré ou arrêté uniquement pour le thread actuel.Profiling is started or stopped only for the current thread. L’état de profilage des autres threads n’est pas affecté.The profiling state of other threads is not affected. La valeur par défaut correspond au thread.The default is thread.

Process : spécifie les fonctions de contrôle de collecte de données de profilage au niveau du processus.Process - specifies process-level profiling data collection control functions. Le profilage démarre ou s’arrête pour tous les threads dans le processus actuel.Profiling starts or stops for all threads in the current process. L’état de profilage des autres processus n’est pas affecté.The profiling state of other processes is not affected.

Global : spécifie les fonctions de contrôle de collecte de données (interprocessus) au niveau global.Global - specifies global-level (cross-process) data collection control functions.

Une erreur se produit si vous ne spécifiez pas le niveau de profilage.An error occurs if you do not specify the profiling level.
Start :{ Inside &#124; Outside },funcnameStart :{ Inside &#124; Outside },funcname Limite la collecte de données à la fonction cible et aux fonctions enfants appelées par cette fonction.Limits data collection to the target function and child functions called by that function.

Inside : insère la fonction StartProfile immédiatement après l’entrée dans la fonction cible.Inside - Inserts the StartProfile function immediately after the entry to the target function. Insère la fonction StopProfile juste avant chaque retour dans la fonction cible.Inserts the StopProfile function immediately before each return in the target function.

Outside : insère la fonction StartProfile juste avant chaque appel à la fonction cible.Outside - Inserts the StartProfile function immediately before each call to the target function. Insère la fonction StopProfile immédiatement après chaque appel à la fonction cible.Inserts the StopProfile function immediately after each call to the target function.

funcname : nom de la fonction cible.funcname - the name of the target function.
Suspend :{ Inside &#124; Outside },funcnameSuspend :{ Inside &#124; Outside },funcname Exclut la collecte de données pour la fonction cible et les fonctions enfants appelées par la fonction.Excludes data collection for the target function and child functions called by the function.

Inside : insère la fonction SuspendProfile immédiatement après l’entrée dans la fonction cible.Inside - Inserts the SuspendProfile function immediately after the entry to the target function. Insère la fonction ResumeProfile juste avant chaque retour dans la fonction cible.Inserts the ResumeProfile function immediately before each return in the target function.

Outside : insère la fonction SuspendProfile juste avant l’entrée dans la fonction cible.Outside - Inserts the SuspendProfile function immediately before the entry to the target function. Insère la fonction ResumeProfile immédiatement après la sortie de la fonction cible.Inserts the ResumeProfile function immediately after the exit from the target function.

funcname : nom de la fonction ciblefuncname - name of the target function.

Si la fonction cible contient une fonction StartProfile, la fonction SuspendProfile est insérée avant celle-ci.If the target function contains a StartProfile function, the SuspendProfile function is inserted before it. Si la fonction cible contient une fonction StopProfile, la fonction ResumeProfile est insérée après celle-ci.If the target function contains a StopProfile function, the ResumeProfile function is inserted after it.
StartOnly : { Before &#124; After &#124; Top &#124; Bottom },funcnameStartOnly: { Before &#124; After &#124; Top &#124; Bottom },funcname Commence la collecte de données pendant une exécution de profilage.Begins data collection during a profiling run. Elle insère la fonction API StartProfile à l’emplacement spécifié.It inserts the StartProfile API function at the specified location.

Before : juste avant l’entrée dans la fonction cible.Before - immediately before the target function entry.

After : juste après la sortie de la fonction cible.After - immediately after the target function exit.

Top : juste après l’entrée dans la fonction cible.Top - immediately after the target function entry.

Bottom : juste avant chaque retour dans la fonction cible.Bottom - immediately before each return in the target function.

funcname : nom de la fonction ciblefuncname - name of the target function.
StopOnly:{Before&#124;After&#124;Top&#124;Bottom},funcnameStopOnly:{Before&#124;After&#124;Top&#124;Bottom},funcname Arrête la collecte de données pendant une exécution de profilage.Halts data collection during a profiling run. Elle insère la fonction StopProfile à l’emplacement spécifié.It inserts the StopProfile function at the specified location.

Before : juste avant l’entrée dans la fonction cible.Before - immediately before the target function entry.

After : juste après la sortie de la fonction cible.After - immediately after the target function exit.

Top : juste après l’entrée dans la fonction cible.Top - immediately after the target function entry.

Bottom : juste avant chaque retour dans la fonction cible.Bottom - immediately before each return in the target function.

funcname : nom de la fonction ciblefuncname - name of the target function.
SuspendOnly:{Before&#124;After&#124;Top&#124;Bottom},funcnameSuspendOnly:{Before&#124;After&#124;Top&#124;Bottom},funcname Arrête la collecte de données pendant une exécution de profilage.Halts data collection during a profiling run. Elle insère l’API SuspendProfile à l’emplacement spécifié.It inserts the SuspendProfile API at the specified location.

Before : juste avant l’entrée dans la fonction cible.Before - immediately before the target function entry.

After : juste après la sortie de la fonction cible.After - immediately after the target function exit.

Top : juste après l’entrée dans la fonction cible.Top - immediately after the target function entry.

Bottom : juste avant chaque retour dans la fonction cible.Bottom - immediately before each return in the target function.

funcname : nom de la fonction ciblefuncname - name of the target function.

Si la fonction cible contient une fonction StartProfile, la fonction SuspendProfile est insérée avant celle-ci.If the target function contains a StartProfile function, the SuspendProfile function is inserted before it.
ResumeOnly:{Before&#124;After&#124;Top&#124;Bottom},funcnameResumeOnly:{Before&#124;After&#124;Top&#124;Bottom},funcname Commence ou reprend la collecte de données pendant une exécution de profilage.Begins or resumes data collection during a profiling run.

Elle est généralement utilisée pour commencer un profilage après l’arrêt d’un profilage par une option SuspendOnly.It is usually used to start profiling after a SuspendOnly option has stopped profiling. Elle insère une API ResumeProfile à l’emplacement spécifié.It inserts a ResumeProfile API at the specified location.

Before : juste avant l’entrée dans la fonction cible.Before - immediately before the target function entry.

After : juste après la sortie de la fonction cible.After - immediately after the target function exit.

Top : juste après l’entrée dans la fonction cible.Top - immediately after the target function entry.

Bottom : juste avant chaque retour dans la fonction cible.Bottom - immediately before each return in the target function.

funcname : nom de la fonction ciblefuncname - name of the target function.

Si la fonction cible contient une fonction StopProfile, la fonction ResumeProfile est insérée après celle-ci.If the target function contains a StopProfile function, the ResumeProfile function is inserted after it.

Voir aussiSee also