Strace

Un article de Wikipédia, l'encyclopédie libre.
Strace
Description de l'image Strace logo.svg.

Informations
Dernière version 6.8 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/strace/strace et gitlab.com/strace/strace.gitVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation LinuxVoir et modifier les données sur Wikidata
Type Application console (en)Voir et modifier les données sur Wikidata
Licence Licence publique générale limitée GNU version 2.1 ou ultérieure (d)Voir et modifier les données sur Wikidata
Site web strace.ioVoir et modifier les données sur Wikidata

Strace est un outil de débogage sous Linux pour surveiller les appels système utilisés par un programme, et tous les signaux qu'il reçoit, similaire à l'outil "truss" sur les autres systèmes Unix. Il a été rendu possible grâce à une fonctionnalité du noyau Linux appelée ptrace.

Un outil similaire est fourni par Cygwin.

Utilisation[modifier | modifier le code]

L'utilisation la plus courante est de lancer un programme en utilisant strace, qui affiche une liste des appels système faits par le programme. C'est utile lorsque le programme plante continuellement, ou ne se comporte pas comme souhaité. Par exemple, utiliser strace peut révéler que le programme tente d'accéder à un fichier qui n'existe pas ou qui ne peut pas être lu.

Une autre utilisation est d'utiliser l'option -p pour le rattacher à un programme lancé. C'est utile lorsqu'un programme ne répond plus, et peut révéler, par exemple, que le processus est bloqué car il attend de faire une connexion réseau.

Comme strace ne détaille que les appels système, il ne peut pas être utilisé comme un débogueur de code, tel que Gdb. Il reste cependant plus simple à utiliser qu'un débogueur de code, et est un outil extrêmement utile pour les administrateurs système.

Autres Plateformes[modifier | modifier le code]

Les autres plateformes fournissent des outils similaires: par exemple, Solaris et FreeBSD fournissent tous deux la commande Truss, et Mac OS X fournit ktrace.

Exemple[modifier | modifier le code]

Il faut lancer la commande à analyser en paramètre de strace :

strace ls

Références[modifier | modifier le code]

  1. « Release 6.8 », (consulté le )

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]