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