Manuel de suivi dynamique Solaris

Options

La commande dtrace accepte les options suivantes :

dtrace [-32 | -64] [-aACeFGHlqSvVwZ] [-b bufsz] [-c cmd] [-D name [=def]] [-I path] [-L path] [-o output] [-p pid] [-s script] [-U name] [-x arg [=val]] [-Xa | c | s | t] [-P provider [ [prédicat]action]] [-m [ [provider:]module [ [prédicat]action]]] [-f [ [provider:]module: ]func [ [prédicat]action]] [-n [ [ [provider:]module:]func:]nom [ [prédicat]action]] [-i probe-id [ [prédicat]action]]

predicate est un prédicat quelconque entre barres obliques / / et action est une liste quelconque d'instructions D entre accolades { } selon la syntaxe du langage D précédemment décrite. Si le code du programme en D est fourni en tant qu'argument aux options -P, -m, -f, - n ou -i, ce texte doit être cité de manière appropriée pour éviter une interprétation par le shell. Les options sont les suivantes :

-32, -64

Le compilateur D produit des programmes utilisant le modèle de données natif du noyau du système d'exploitation. Vous pouvez utiliser la commande isainfo(1) -b pour déterminer le modèle de données du système d'exploitation actuel. Si l'option - 32 est spécifiée, dtrace forcera le compilateur D à compiler un programme D utilisant le modèle de données 32 bits. Si l'option - 64 est spécifiée, dtrace forcera le compilateur D à compiler un programme D utilisant le modèle de données 64 bits. Ces options ne sont généralement pas requises tant que dtrace sélectionne le modèle de données natif comme modèle par défaut. Le modèle de données affecte la taille des types de nombre entier et d'autres propriétés du langage. Les programmes D compilés pour l'un ou l'autre modèle de données peuvent être exécutés sur des noyaux 32 bits comme sur des noyaux 64 bits. Les options -32 et -64 déterminent également le format de fichier ELF (ELF32 ou ELF64) produit par l'option -G.

-a

Permet de réclamer un état de suivi anonyme et d'afficher les données faisant l'objet d'un suivi. Vous pouvez combiner l'option -a avec l'option -e pour forcer la fermeture de DTrace dtrace immédiatement après la consommation de l'état de suivi anonyme plutôt que de poursuivre l'attente de nouvelles données. Pour plus d'informations sur le suivi anonyme, reportez-vous au Chapitre36Suivi anonyme.

-A

Permet de générer des directives driver.conf(4) de suivi anonyme. Si l'option -A est spécifiée, dtrace compile n'importe quel programme en D spécifié utilisant l'option -s ou présent sur la ligne de commande et construit un ensemble de directives de fichiers de configuration dtrace(7D) pour activer les sondes spécifiées en vue d'un suivi anonyme (consultez le Chapitre36Suivi anonyme) avant de se fermer. Par défaut, dtrace tente de stocker les directives dans le fichier /kernel/drv/dtrace.conf. Ce comportement peut être modifié avec l'option -o pour spécifier un fichier de sortie secondaire.

-b

Permet de définir la taille d'un tampon de suivi. La taille d'un tampon de suivi peut comprendre tout suffixe de taille k, m, g ou t tels que décrits dans le Chapitre36Suivi anonyme. S'il est impossible d'allouer l'espace de tampon, dtrace tente de réduire la taille du tampon ou de se fermer, selon la définition de la propriété bufresize.

-c

Permet d'exécuter la commande spécifiée cmd puis de quitter le programme une fois celui-ci achevé. Si plusieurs options -c sont présentes sur la ligne de commande, dtrace se ferme lorsque toutes les commandes sont fermées, en consignant dans un rapport l'état de sortie de chaque processus enfant lorsqu'il se termine. L'ID de processus de la première commande est disponible pour n'importe quel programme D spécifié sur la ligne de commande ou utilisant l'option -s par le biais de la variable de macro $target. Pour plus d'informations sur les variables de macro, consultez le Chapitre15Scripts.

-C

Permet d'exécuter le préprocesseur C cpp(1) sur les programmes en D avant de les compiler. Des options peuvent être transmises au préprocesseur C en utilisant les options -D, - U, -I et -H. Le degré de conformité aux normes C peut être sélectionné en utilisant l'option -X. Reportez-vous à l'option -X pour obtenir une description du jeu de jetons défini par le compilateur D lors de l'appel du préprocesseur C.

-D

Permet de définir le nom spécifié lors de l'appel cpp(1) (activé avec l'option -C). Si un signe égal ( =) et une value supplémentaire sont spécifiés, la valeur correspondante est assignée au nom. Cette option transmet l'option - D à chaque appel cpp.

-e

Permet de fermer le programme après la compilation des requêtes et la consommation de l'état de suivi anonyme (option -a) mais avant l'activation d'une sonde, quelle qu'elle soit. Il est possible de combiner cette option avec l'option -a pour afficher les données de suivi anonyme et fermer le programme, ou bien avec les options du compilateur D pour vérifier que la compilation des programmes se fait correctement, sans nécessairement les exécuter ni activer l'instrumentation correspondante.

-f

Permet de spécifier le nom de la fonction à suivre ou à répertorier (option -l). L'argument correspondant peut prendre l'aspect de n'importe quelle description de sonde : provider:module:function, module:function, ou function . Les champs de description de sonde non spécifiés restent vides et renvoient toutes les sondes, quelle que soit la valeur de ces champs. Si aucun qualificateur autre que fonction n'est spécifié dans la description, toutes les sondes avec la fonction correspondante sont associées. L'argument -f peut être placé en suffixe avec une clause de sonde D facultative. Plusieurs options -f à la fois peuvent être spécifiées sur la ligne de commande.

-F

Permet de fondre la sortie de suivi en identifiant l'entrée et le retour de la fonction. Les rapports de sonde de l'entrée de la fonction sont indentés et -> est placé avant leur sortie. L'indentation des rapports de sonde de retour de la fonction est annulée et <- précède leur sortie.

-G

Permet de générer un fichier ELF contenant un programme DTrace imbriqué. Les sondes DTrace spécifiées dans le programme sont enregistrées à l'intérieur d'un objet ELF réadressable pouvant être lié à un autre programme. Si l'option -o est présente, le fichier ELF est enregistré avec le nom de chemin spécifié comme argument pour cette opérande. Si l'option -o n'est pas présente et que le programme DTrace est contenu dans un fichier dont le nom est nom_fichier .s, le fichier ELF est enregistré sous le nom fichier .o ; sinon, il est enregistré sous le nom d.out.

-H

Permet d'imprimer les noms de chemin des fichiers inclus lors de l'appel cpp(1) (activé avec l'option -C). Cette option transmet l'option -H à chaque appel cpp, provoquant l'affichage de la liste des noms de chemin, à raison d'un par ligne, dans stderr.

-i

Permet de spécifier l'identificateur de sonde à suivre ou à répertorier (option -l). Les ID de sonde sont spécifiés avec des nombres entier décimaux comme indiqué par dtrace -l. L'argument -i peut être placé en suffixe avec la clause de sonde D facultative. Plusieurs options -i à la fois peuvent être spécifiées sur la ligne de commande.

-I

Permet d'ajouter le chemin_daccès au répertoire spécifié au chemin de recherche pour les fichiers #include lors de l'appel de cpp(1) (activé avec l'option -C). Cette option transmet l'option - I à chaque appel cpp. Le répertoire spécifié est inséré dans le chemin de recherche avant la liste des répertoires par défaut.

-l

Permet de répertorier les sondes au lieu de les activer. Si l'option -l est spécifiée, dtrace produit un rapport des sondes correspondant aux descriptions données, avec les options -P, -m, - f, -n, -i et -s. Si aucune de ces options n'est spécifiée, toutes les sondes sont répertoriées.

-L

Permet d'ajouter le path du répertoire spécifié au chemin de recherche pour les bibliothèques DTrace. Les bibliothèques DTrace sont utilisées pour contenir des définitions courantes susceptibles d'être utilisées lors de l'écriture de programmes D. Le path spécifié est ajouté après le chemin de recherche de la bibliothèque par défaut.

-m

Permet de spécifier le nom du module à suivre ou à répertorier (option -l). L'argument correspondant peut prendre l'aspect de n'importe quelle description de sonde : provider:module ou module. Les champs de description de sonde non spécifiés restent vides et renvoient toutes les sondes, quelle que soit la valeur de ces champs. Si aucun qualificateur autre que module n'est spécifié dans la description, toutes les sondes avec le module correspondant sont associées. L'argument -m peut être placé en suffixe avec une clause de sonde D facultative. Plusieurs options -m à la fois peuvent être spécifiées sur la ligne de commande.

-n

Permet de spécifier le nom de sonde à suivre ou à répertorier (option -l). L'argument correspondant peut prendre l'aspect de n'importe quelle description de sonde : nom:fonction:module:fournisseur, nom:fonction:module, nom:fonction ou nom. Les champs de description de sonde non spécifiés restent vides et renvoient toutes les sondes, quelle que soit la valeur de ces champs. Si aucun qualificateur autre que nom n'est spécifié dans la description, toutes les sondes avec le nom correspondant sont associées. L'argument -n peut être placé en suffixe avec une clause de sonde D facultative. Plusieurs options -n à la fois peuvent être spécifiées sur la ligne de commande.

-o

Permet de spécifier le fichier de output pour les options - A , -G et -l ou pour les données faisant l'objet d'un suivi. Si l'option -A est présente et que -o ne l'est pas, le fichier de sortie par défaut est /kernel/drv/dtrace.conf. Si l'option -G est présente et que l'argument de l'option -s est de forme nom_fichier.d en l'absence de l'option -o, le fichier de sortie par défaut est nom_fichier.o ; sinon, le fichier de sortie par défaut est d.out.

-p

Permet de saisir l'ID de processus spécifié pid, mettre en cache ses tableaux de symbole et fermer le programme à son achèvement. Si plusieurs options -p sont présentes sur la ligne de commande, dtrace se ferme lorsque toutes les commandes sont fermées, en consignant dans un rapport l'état de sortie de chaque processus lorsqu'il se termine. Le premier ID de processus est disponible pour n'importe quel programme D spécifié sur la ligne de commande ou utilisant l'option -s par le biais de la variable de macro $target. Pour plus d'informations sur les variables de macro, consultez le Chapitre15Scripts.

-P

Permet de spécifier le nom du fournisseur à suivre ou à répertorier (option -l). Le module, la fonction et le nom des descriptions de sondes restantes restent vides et renvoient toutes les sondes, quelles que soient les valeurs de ces champs. L'argument -P peut être placé en suffixe avec une clause de sonde D facultative. Plusieurs options -P à la fois peuvent être spécifiées sur la ligne de commande.

-q

Permet de définir le mode silencieux. dtrace supprime des messages tels que le nombre de sondes correspondant aux options spécifiées et les programmes D et n'affiche pas les en-têtes de colonne, l'ID de la CPU, l'ID de la sonde ni n'insère de nouvelles lignes dans la sortie. Seules les données suivies et formatées par des instructions de programme D telles que trace() et printf() sont affichées dans stdout.

-s

Permet de compiler le fichier source du programme D spécifié. Si l'option -e est présente, le programme est compilé mais aucune instrumentation n'est activée. Si l'option -l est présente, le programme est compilé et l'ensemble des sondes qui lui correspondent sont répertoriées, mais aucune instrumentation n'est activée. Si aucune option -e ou -l n'est présente, l'instrumentation spécifiée par le programme D est activée et le suivi commence.

-S

Permet d'afficher le code intermédiaire du compilateur D. Le compilateur D produit un rapport du code intermédiaire généré pour chaque programme D dans stderr.

-U

Permet d'annuler la définition du nom spécifié lors de l'appel cpp(1) (activé avec l'option -C). Cette option transmet l'option - U à chaque appel cpp.

-v

Permet de définir le mode détaillé. Si l'option -v est spécifiée, dtrace produit un rapport de stabilité du programme montrant la stabilité minimale de l'interface ainsi que le niveau de dépendance des programmes D spécifiés. Les niveaux de stabilité de DTrace sont expliqués plus en détail dans le Chapitre39Stabilité.

-V

Permet de consigner dans un rapport la version la plus récente de l'interface de programmation D prise en charge par dtrace. Les informations sur la version sont affichées dans stdout et la commande dtrace se ferme. Pour plus d'informations sur les fonctions de versionnage de DTrace, consultez le Chapitre41Versionnage.

-w

Autorise les actions destructrices dans des programmes D spécifiés avec l'option - s, -P, -m, -f, - n, ou -i. Si l'option -w n'est pas spécifiée, dtrace n'autorise ni la compilation ni l'activation d'un programme D contenant des actions destructrices. Les actions destructrices sont expliquées plus en détail dans le Chapitre10Actions et sous-routines.

-x

Permet d'activer ou de modifier une option d'exécution DTrace ou une option du compilateur D. Les options sont répertoriées dans le Chapitre16Options et paramètres réglables. Les options booléennes sont activées en spécifiant leur nom. Les options avec des valeurs sont définies en séparant le nom de l'option de sa valeur par un signe égal (=).

-X

Permet de spécifier le degré de conformité à la norme ISO C devant être sélectionnée lors de l'appel cpp(1) (activé avec l'option -C). L'argument de l'option -X affecte la valeur et la présence de la macro __STDC__ en fonction de la valeur de la lettre de l'argument :

a (par défaut)

ISO C plus extensions de compatibilité K&R, avec les modifications sémantiques requises par ISO C. Ce mode est le mode par défaut si -X n'est pas spécifié. La macro __STDC__ prédéfinie a une valeur égale à 0 lorsque cpp est appelé avec l'option -Xa.

c (conformité)

En conformité avec ISO C, sans les extensions de compatibilité K&R C. La macro prédéfinie __STDC__ a une valeur égale à 1 lorsque cpp est appelé avec l'option -Xc.

s (K&R C)

K&R C uniquement. La macro __STDC__ n'est pas définie lorsque cpp est appelé avec l'option -Xs.

t (transition)

ISO C plus les extensions de compatibilité K&R C, sans modification sémantique requise par ISO C. La macro prédéfinie __STDC__ a une valeur égale à 0 lorsque cpp est appelé avec l'option -Xt.

Puisque l'option -X affecte uniquement la manière dont le compilateur D appelle le préprocesseur C, les options -Xa et - Xt sont équivalentes du point de vue de D. Les deux options sont fournies afin de réutiliser facilement les paramètres d'un environnement C.

Quel que soit le mode -X, les définitions de préprocesseur C supplémentaires suivantes sont toujours spécifiées et valides dans tous les modes :

  • __sun

  • __unix

  • __SVR4

  • __sparc (sur les systèmes SPARC® uniquement)

  • __sparcv9 (sur des systèmes SPARC® uniquement lorsque des programmes 64 bits sont compilés)

  • __i386 (sur des systèmes x86 uniquement lorsque des programmes 32 bits sont compilés)

  • __amd64 (sur les systèmes x86 uniquement lorsque les programmes 64 bits sont compilés)

  • __'uname -s' _'uname -r', qui remplace le séparateur décimal dans la sortie de uname par un trait de soulignement (_), comme dans __SunOS_5_10

  • __SUNW_D=1

  • __SUNW_D_VERSION=0xMMmmmuuu (où MM est la valeur de version majeure hexadécimale, mmm est la valeur de version mineure hexadécimale et uuu est la valeur de version micro hexadécimale ; pour plus d'informations sur le versionnage DTrace, consultez le Chapitre41Versionnage.

-Z

Autorise des descriptions de sonde ne correspondant à aucune sonde. Si l'option - Z n'est pas spécifiée dtraceconsigne l'erreur dans un rapport et se ferme si aucune des descriptions de sonde spécifiées dans les fichiers de programme D (option - s) ou sur la ligne de commande (options -P, -m, - f, -n, ou -i) ne contient de descriptions ne correspondant à aucune sonde connue.