VSInstr
Mise à jour : novembre 2007
L'outil VSInstr permet d'instrumenter les binaires. Il est appelé à l'aide de la syntaxe suivante :
VSInstr [/U] filename [/options]
Le tableau suivant décrit les options de l'outil VSInstr :
Options |
Description |
---|---|
HELP ou ? |
Affiche l'aide. |
U |
L'option U écrit la sortie de console redirigée au format Unicode. Il doit s'agir de la première option spécifiée. |
@filename |
Le fichier réponse doit avoir une option de commande par ligne. N'utilisez pas de guillemets. |
OUTPUTPATH:path |
Répertoire de destination de l'image instrumentée. Si un chemin de sortie n'est pas 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. |
CONTROL:{THREAD|PROCESS|GLOBAL} |
L'option CONTROL permet de spécifier le niveau de profilage utilisé des fonctions de contrôle de collecte de données suivantes : StartProfile StopProfile SuspendProfile ResumeProfile THREAD - spécifie les fonctions de contrôle de collecte de données au niveau du thread. Le profilage est démarré ou arrêté uniquement pour le thread actuel. L'état de profilage des autres threads n'est pas affecté. La valeur par défaut est thread. PROCESS - spécifie les fonctions de contrôle de collecte des données de profilage au niveau du processus. Le profilage démarre ou s'arrête pour tous les threads du processus actuel. L'état de profilage des autres processus n'est pas affecté. GLOBAL - spécifie les fonctions de contrôle de collecte de données (interprocessus) au niveau global. Une erreur se produit si vous ne spécifiez pas le niveau de profilage. |
START:{INSIDE|OUTSIDE},funcname |
L'option START permet de limiter la collecte de données à la fonction cible et aux fonctions enfants appelées par cette fonction. INSIDE - Insère immédiatement la fonction StartProfile après l'entrée à la fonction cible. Insère immédiatement la fonction StopProfile avant chaque retour dans la fonction cible. OUTSIDE- Insère immédiatement la fonction StartProfile avant chaque appel à la fonction cible. Insère immédiatement la fonction StopProfile après chaque appel à la fonction cible. funcname - nom de la fonction cible. |
SUSPEND:{INSIDE|OUTSIDE},funcname |
L'option SUSPEND permet d'exclure la collecte de données pour la fonction cible et les fonctions enfants appelées par la fonction. INSIDE - Insère immédiatement la fonction SuspendProfile après l'entrée à la fonction cible. Insère immédiatement la fonction ResumeProfile avant chaque retour dans la fonction cible. OUTSIDE - Insère immédiatement la fonction SuspendProfile avant l'entrée à la fonction cible. Insère immédiatement la fonction ResumeProfile après la sortie de la fonction cible. funcname - nom de la fonction cible. Si la fonction cible contient une fonction StartProfile, la fonction SuspendProfile est insérée avant elle. Si la fonction cible contient une fonction StopProfile, la fonction ResumeProfile est insérée après elle. |
STARTONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
L'option STARTONLY permet de commencer la collecte de données lors de l'exécution d'un profilage. Elle insère la fonction API StartProfile à l'emplacement spécifié. BEFORE - juste avant l'entrée de la fonction cible. AFTER - juste après la sortie de la fonction cible. TOP - juste après l'entrée de la fonction cible. BOTTOM - juste avant chaque retour dans la fonction cible. funcname - nom de la fonction cible. |
STOPONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
L'option STOPONLY permet d'arrêter la collecte de données lors de l'exécution d'un profilage. Elle insère la fonction StopProfile à l'emplacement spécifié. BEFORE - juste avant l'entrée de la fonction cible. AFTER - juste après la sortie de la fonction cible. TOP - juste après l'entrée de la fonction cible. BOTTOM - juste avant chaque retour dans la fonction cible. funcname - nom de la fonction cible. |
SUSPENDONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
L'option SUSPENDONLY permet d'arrêter la collecte de données lors de l'exécution d'un profilage. Elle insère l'API SuspendProfile à l'emplacement spécifié. BEFORE - juste avant l'entrée de la fonction cible. AFTER - juste après la sortie de la fonction cible. TOP - juste après l'entrée de la fonction cible. BOTTOM - juste avant chaque retour dans la fonction cible. funcname - nom de la fonction cible. Si la fonction cible contient une fonction StartProfile, la fonction SuspendProfile est insérée avant elle. |
RESUMEONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
L'option RESUMEONLY permet de commencer ou de reprendre la collecte de données lors de l'exécution d'un profilage. Elle est généralement utilisée pour commencer le profilage après qu'une option SUSPENDONLY l'a arrêté. Elle insère une API ResumeProfile à l'emplacement spécifié. BEFORE - juste avant l'entrée de la fonction cible. AFTER - juste après la sortie de la fonction cible. TOP - juste après l'entrée de la fonction cible. BOTTOM - juste avant chaque retour dans la fonction cible. funcname - nom de la fonction cible. Si la fonction cible contient une fonction StopProfile, la fonction ResumeProfile est insérée après elle. |
EXCLUDE:funcspec |
L'option EXCLUDE spécifie une fonction permettant d'exclure de l'instrumentation par les sondes. Cela est utile lorsque l'insertion de la sonde de profilage dans une fonction provoque des résultats inattendus ou non souhaités. N'utilisez pas les options EXCLUDE et INCLUDE qui font référence aux fonctions du même binaire. Vous pouvez déterminer la spécification de plusieurs fonctions avec des options EXCLUDE distinctes. funcspec est défini comme : [namespace<Séparateur1>] [class<Séparateur2>]function <Séparateur1> est :: pour le code natif, et . pour le code managé. <Séparateur2> est toujours :: L'option EXCLUDE est prise en charge avec la couverture du code. Pour exclure toutes les fonctions d'un espace de noms, utilisez le caractère générique : MyNamespace::* |
INCLUDE:funcspec |
L'option INCLUDE spécifie une spécification de fonction dans un binaire à instrumenter avec les sondes. Toutes les autres fonctions dans les binaires ne sont pas instrumentées. Vous pouvez déterminer les spécifications de plusieurs fonctions avec des options INCLUDE distinctes. N'utilisez pas les options INCLUDE et EXCLUDE qui font référence aux fonctions du même binaire. L'option INCLUDE n'est pas prise en charge avec la couverture du code. funcspec est défini comme : [namespace<Séparateur1>] [class<Séparateur2>]function <Séparateur1> est :: pour le code natif, et . pour le code managé. <Séparateur2> est toujours :: |
EXCLUDESMALLFUNCS |
Exclut de l'instrumentation les petites fonctions qui sont des fonctions courtes qui ne passent pas d'appels de fonction. L'option EXCLUDESMALLFUNCS fournit moins de surcharge d'instrumentation et donc une vitesse d'instrumentation améliorée. L'exclusion des petites fonctions réduit également la taille du fichier .vsp et le temps requis pour l'analyse. |
MARK:{BEFORE|AFTER|TOP|BOTTOM},funcname,markid |
L'option MARK insère une fonction API MarkProfile à l'entrée ou la sortie de la fonction cible. L'API MarkProfile insère une marque de profil (identificateur utilisé pour délimiter les données des 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. BEFORE - Juste avant l'entrée de la fonction cible. AFTER - Juste après la sortie de la fonction cible. TOP - Juste après l'entrée de la fonction cible. BOTTOM - Juste avant chaque retour dans la fonction cible. funcname - Nom de la fonction cible Markid- Entier positif (long) à utiliser comme identificateur de la marque de profil. |
COVERAGE |
L'option COVERAGE exécute l'instrumentation de couverture. Elle peut être associée à l'option OUTPUTPATH. |
VERBOSE |
L'option VERBOSE permet d'afficher des informations détaillées sur le processus d'instrumentation. |
NOWARN[:[Message Number[;Message Number]]] |
L'option NOWARN permet de supprimer tous ou certains avertissements. Message Number- numéro d'avertissement. Si Message Number est omis, tous les avertissements sont supprimés. Pour plus d'informations, consultez Avertissements VSInstr. |
DUMPFUNCS |
L'option DUMPFUNCS affiche les fonctions dans l'image spécifiée. Aucune instrumentation n'est effectuée. |