Espionnez vos applications avec strace et ltrace

Magazine
Marque
GNU/Linux Magazine
Numéro
115
Mois de parution
avril 2009


Résumé
strace est ce que l'on appelle un « system call tracer » (moniteur d'appels système), un programme qui intercepte et enregistre les appels système effectués par un programme ou les signaux réceptionnés. ltrace permet, pour sa part, de suivre pas à pas l'exécution d'un programme, mais placé du point de vue des bibliothèques partagées.

Strace [1] est un programme incontournable dans la boite à outils du développeur Linux, car il permet de tracer tous les appels système mis en œuvre par un programme, ainsi que tous les signaux émis ou reçus.

L'utilitaire strace a été porté initialement sous Linux par Branco Lankester en 1993 (à partir de l'outil homonyme écrit pour SUNOS par Paul Kranenburg) en même temps qu'il implémentait le support de l'appel système PTRACE dans le noyau (disponible au moins depuis le noyau 1.0). Ce hacker n'est pas un inconnu (même s’il a un peu disparu des écrans radar ces derniers temps), puisque c'est lui qui a écrit des utilitaires aussi pratiques que ps ou md5sum sous Linux.

Ltrace [2], qui s'inspire directement de strace, permet de tracer de son côté les appels aux bibliothèques partagées comme la glibc (surtout ne pas mélanger les appels système avec les fonctions des bibliothèques partagées qui elles-mêmes font appel aux appels système). Ce projet a démarré...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite