GNU/Linux >> Tutoriels Linux >  >> Ubuntu

11 Commande Strace avec exemple sous Linux

Strace est un outil utilitaire de ligne de commande de débogage très puissant qui aide à résoudre les problèmes en surveillant les appels système et les signaux du programme spécifique. Si nous n'avons pas de code source disponible, strace peut être utilisé pour analyser comment un programme interagit avec le système. Dans cet article, nous aborderons certaines commandes strace importantes pour dépanner et déboguer des programmes et des processus sous Linux.

Installation

L'installation des outils utilitaires strace est un processus simple et simple. Utilisez la commande suivante pour installer l'application selon votre distribution Linux.

Debian/Ubuntu

$ sudo apt install strace

RedHat/CentOS

$ yum install strace

Vérifiez l'installation en exécutant la commande suivante

$ strace -V

Sortie :

1.Tracer les appels système de la commande Linux à l'aide de strace

Strace est utile lors du suivi des appels système de commande Linux. Dans cet exemple, une simple commande pwd est utilisé pour le traçage.

$ strace pwd

Sortie :

2. Rediriger le journal de trace dans un fichier

Le journal de suivi des appels système peut être redirigé vers un fichier à l'aide de la commande strace comme :

$ strace -o pwd-log.txt mot de passe

Utilisez la commande cat pour trouver le contenu du fichier comme :

$ cat pwd-log.txt

3. Utilisez strace pour imprimer le résumé des appels système au lieu de la sortie normale.

L'utilisation de strace avec l'option -c permet d'imprimer le résumé du journal. Dans cet exemple, un résumé de la commande linux pwd est présenté.

$ strace -c pwd

Sortie :

4. Tracez des appels système particuliers à l'aide de strace

La commande Strace avec l'option -e et le type de trace (lecture, écriture) peut être utilisée pour tracer des appels système spécifiques. Dans cet exemple, l'appel système write est tracé pour la commande pwd.

$ strace -e trace=write pwd

Sortie :

5. Commande Strace pour imprimer l'horodatage de chaque appel système.

La commande Strace avec l'option -r peut être utilisée pour imprimer tous les horodatages relatifs de chaque appel système.

$ strace -r pwd

Sortie :

6. Traçage à l'aide de l'ID de processus

Si un processus est déjà en cours d'exécution dans le système, les appels système peuvent être suivis à l'aide de la commande strace avec l'option -p avec l'ID du processus. Dans cet exemple, l'ID de processus de nginx est utilisé pour le traçage

Syntaxe

$ strace -p <process id>
$ strace -p 12842

Le traçage peut être arrêté en appuyant sur ctrl+c.

7. Commande Strace pour imprimer la sortie de débogage

La commande Strace avec l'option -d peut être utilisée pour imprimer la sortie de débogage. Dans cet exemple, une simple commande Linux pwd est utilisée pour le traçage.

$ strace -d pwd

Sortie :

8. Commande Strace pour imprimer le temps passé sur les appels système.

La commande Strace avec l'option -T donne le temps passé sur les appels système comme :

$ strace -T pwd

Sortie :

9. Commande Strace pour imprimer le pointeur d'instruction

La commande Strace avec l'option -i imprime le pointeur d'instruction. Dans cet exemple, une simple commande Linux pwd est utilisée pour le traçage.

$ strace -i pwd

Sortie :

10. Commande Strace pour tracer les appels système en fonction d'une condition spécifique

La commande Strace peut être utilisée pour suivre les appels système en fonction de conditions spécifiques telles que la mémoire, le processus, le processeur, etc. Dans cet exemple, les appels système liés à la gestion de la mémoire sont suivis pour une simple commande Linux pwd.

$ strace -q -e mot de passe mémoire

Sortie :

11. Commande Strace pour tracer les appels système liés au signal

Les appels système liés au signal peuvent être suivis en définissant le type de suivi dans la commande. Dans cet exemple nc -v -n localhost 80 est utilisé pour tracer les appels système liés au signal.

$ strace -e trace=signal nc -v -n 127.0.0.1 80

Sortie :

Conclusion

Dans cet article, nous avons appris ce qu'est l'outil utilitaire strace et quand il peut être utilisé. J'ai également couvert certaines commandes strace importantes pour dépanner et déboguer les appels et processus système.


Ubuntu
  1. Tutoriel de commande Linux Ping avec exemples

  2. Commande source Linux avec exemples

  3. Commande dpkg sous Linux avec exemples

  4. Commande Linux Tee avec exemples

  5. Commande JQ sous Linux avec exemples

Commande de tri sous Linux avec des exemples

Commande IP Linux avec exemples

Commande Df sous Linux

Commande de date Linux avec des exemples d'utilisation

w Commande expliquée avec des exemples sous Linux

La commande ssh-keygen expliquée avec un exemple sous Linux