PTRACE(2) Manuel du programmeur Linux PTRACE(2)
NOM
ptrace - Suivre un processus.
SYNOPSIS
#include <sys/ptrace.h>
int ptrace(int requête, int pid, int addr, int data)
DESCRIPTION
Ptrace fournit au processus parent un moyen de contrôler
l'exécution d'un enfant, et d'éditer son image mémoire.
L'utilisation primordiale de cette fonction est
l'implémentation de points d'arrêt pour le débugging.
Un processus suivi se déroule jusqu'à l'arrivée d'un sig
nal. Ensuite il s'interrompt et son parent sera averti
grâce à la fonction wait(2).
Quand le processus se trouve arrêté (stop), sa mémoire
peut être lue et écrite. Le parent peut également faire
continuer l'exécution de son fils, avec une option pour
ignorer le signal ayant déclenché l'arrêt.
La valeur de l'argument requête indique précisement
l'action à entreprendre.
PTRACE_TRACEME
Le processus en cours va être suivi par son père.
Le parent doit être en attente de suivi du fils.
PTRACE_PEEKTEXT, PTRACE_PEEKDATA
Lire un mot à l'adresse addr.
PTRACE_PEEKUSR
Lire un mot à l'adresse addr dans l'espace USER.
PTRACE_POKETEXT, PTRACE_POKEDATA
Ecrire un mot à l'adresse addr.
PTRACE_POKEUSR
Ecrire un mot à l'adresse addr dans l'espace USER.
PTRACE_SYSCALL, PTRACE_CONT
Redémarrer après un signal.
PTRACE_KILL
Envoyer au fils un signal SIGKILL pour le terminer.
PTRACE_SINGLESTEP
Positionner un drapeau d'exécution pas-à-pas.
PTRACE_ATTACH
Attacher le processus numéro pid.
Linux 8 Avril 1997 1
PTRACE(2) Manuel du programmeur Linux PTRACE(2)
PTRACE_DETACH
Détacher un processus précédemment attaché.
NOTES
init, le processus numéro 1, ne peut pas utiliser cette
fonction.
VALEUR RENVOYÉE
ptrace renvoie 0 s'il réussit, ou -1 s'il échoue, auquel
cas errno contient le code d'erreur.
ERREURS
EPERM Le processus (par exemple init), ne peut pas être
suivi ou est déjà suivi.
ESRCH Le processus indiqué n'existe pas.
EIO La requête n'est pas valide.
CONFORMITÉ
SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3
VOIR AUSSI
gdb(1), exec(3), signal(2), wait(2)
TRADUCTION
Christophe Blaess, 1997.
Linux 8 Avril 1997 2