Strace
| Dernière version | 7.1 ()[1] |
|---|---|
| Dépôt | github.com/strace/strace et gitlab.com/strace/strace.git |
| Écrit en | C |
| Système d'exploitation | Linux |
| Type | Utilitaire de ligne de commande (en) |
| Licence | Licence publique générale limitée GNU version 2.1 ou ultérieure (d) |
| Site web | strace.io |
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
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
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
Il faut lancer la commande à analyser en paramètre de strace :
strace ls
Références
- ↑ « Release 7.1 », (consulté le )
Voir aussi
Liens externes
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
