Comment utiliser la commande Linux Strace?

Comment utiliser la commande Linux Strace?

Le "se décrocher"Est un utilitaire de ligne de commande Linux qui est un outil utile et puissant pour capturer, surveiller et dépanner les programmes d'un système. Il enregistre et intercepte les appels du système, ce qui est très utile lorsqu'un programme se bloque et ne s'exécute pas comme prévu.

Le "se décrocher»L'outil de commande imprime le fonctionnement du programme et communique avec le système. Grâce à cela, l'utilisateur peut facilement déchiffrer où les erreurs se produisent tout en chargeant le programme.

Le "ltrace»La commande est un utilitaire système UNIX qui est assez similaire à la«se décrocher»Commande, la différence est qu'il capture les appels dynamiques des bibliothèques partagées. L'outil de commande «LTRACE» n'est pas un outil utile pour tracer les bibliothèques liées statiquement.

La syntaxe du «se décrocher»La commande est:

Strace [Options…] [Commande]

Comment installer la commande «Strace»?

Le "se décrocher»Est un outil intégré dans les systèmes Linux, mais s'il n'est pas préinstallé sur la machine, tapez la commande donnée dans le terminal:

$ sudo apt installer strace

Comment utiliser les options de commande «Strace»?

Exécutez les options données pour vérifier le fonctionnement de "se décrocher" commande:

Appels de système de traçage

Pour tracer la liste de tous les appels système du système, exécutez le «se décrocher«Commande avec le«df”Commande dans un terminal:

$ Strace DF -h

(L'option «-H» affichera la sortie au format lisible par l'homme)

Pointeur d'instructions lors des appels système

Pour afficher le pointeur d'instructions pendant que chaque appel système du programme est répertorié dans le terminal, utilisez la commande donnée:

$ strace -i df -h

Temps de sortie de trace

Pour afficher l'heure d'horloge de la journée pour la sortie de traçage dans chaque ligne, tapez le «-t”Option avec la commande donnée:

$ sudo strace -t df -h

Temps consommé dans l'appel système

Exécutez le "-T”Option dans la ligne de commande pour afficher l'heure

consommé de chaque appel système, qui comprend son temps de départ et de fin:

$ strace -t df -h

Tracez les appels système spécifiques

Dans les sections ci-dessus, nous avons vu les listes pour tracer les appels système, mais si vous souhaitez tracer des appels système spécifiques, faites-le via le «-e”Option en utilisant les façons suivantes:

Supposés que vous souhaitez tracer les appels système de «lire», la commande serait:

$ sudo strace -e trace = read df -h

Ici, la trace est appelée «qualificatif" et le "lire"Est sa valeur.

Pour tracer l'appel système de la valeur des qualifications "signal», Tapez la commande:

$ sudo strace -e trace = signal df -h

Pour tracer les appels système de la valeur des qualifications "réseau", taper:

$ sudo strace -e trace = réseau df -h

Pour tracer tous les appels du système qui incluent «mémoire", taper:

$ strace -e trace = mémoire df -h

(NOTE: Certaines des actions ont besoin de «Sudo»Privilégie de fonctionner alors que certains peuvent être faits sans lui).

Conclusion

Le "se décrocher»La commande est un utilitaire UNIX utilisé pour tracer les appels et les bibliothèques système. À travers le "se décrocher»Commande, vous pouvez surveiller et capturer les appels système pour résoudre les problèmes du programme. Le "ltrace"La commande est similaire au"se décrocher«Commande mais elle ne capture pas les bibliothèques liées statiquement.