1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1993 Michael Haardt
.\" (u31b3hs@pool.informatik.rwth-aachen.de),
.\" Fri Apr 2 11:32:09 MET DST 1993
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Modified Fri Jul 23 23:47:18 1993 by Rik Faith (faith@cs.unc.edu)
.\"
.\" Traduction 12/10/1996 par Christophe Blaess (ccb@club-internet.fr)
.\" Mise a Jour 8/04/97
.TH PTRACE 2 "8 Avril 1997 " "Linux" "Manuel du programmeur Linux"
.SH NOM
ptrace \- Suivre un processus.
.SH SYNOPSIS
.B #include <sys/ptrace.h>
.sp
.BI "int ptrace(int " request ", int " pid ", int " addr ", int " data );
.SH DESCRIPTION
.B Ptrace
fournit au processus parent un moyen de controler l'execution d'un enfant,
et d'editer son image memoire.
L'utilisation primordiale de cette fonction est l'implementation de points
d'arret pour le debugging.
Un processus suivi se deroule jusqu'a l'arrivee d'un signal. Ensuite il
s'interrompt et son parent sera averti grace a la fonction
.BR wait (2).
Quand le processus se trouve arrete (stop), sa memoire peut etre
lue et ecrite.
Le parent peut egalement faire continuer l'execution de son fils, avec
une option pour ignorer le signal ayant declenche l'arret.
.LP
La valeur de l'argument \fIrequest\fP indique precisement l'action a entreprendre.
.TP
PTRACE_TRACEME
Le processus en cours va etre suivi par son pere. Le parent doit etre en attente
de suivi du fils.
.TP
PTRACE_PEEKTEXT, PTRACE_PEEKDATA
Lire un mot a l'adresse
.IR addr .
.TP
PTRACE_PEEKUSR
Lire un mot a l'adresse
.I addr
dans l'espace
.B USER.
.TP
PTRACE_POKETEXT, PTRACE_POKEDATA
Ecrire un mot a l'adresse
.IR addr .
.TP
PTRACE_POKEUSR
Ecrire un mot a l'adresse
.I addr
dans l'espace
.B USER.
.TP
PTRACE_SYSCALL, PTRACE_CONT
Redemarrer apres un signal
.TP
PTRACE_KILL
Envoyer au fils un signal
.B SIGKILL
pour le terminer.
.TP
PTRACE_SINGLESTEP
Positionner un drapeau d'execution pas-a-pas.
.TP
PTRACE_ATTACH
Attacher le processus numero
.IR pid .
.TP
PTRACE_DETACH
Detacher un processus precedemment attache.
.SH NOTES
.BR init ,
le processus numero 1, ne peut pas utiliser cette fonction.
.SH "VALEUR RENVOYEE"
.BR ptrace
renvoie 0 s'il reussit, ou \-1 s'il echoue, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP 0.8i
.B EPERM
Le processus (par exemple
.BR init ),
ne peut pas etre suivi ou est deja suivi.
.TP
.B ESRCH
Le processus indique n'existe pas.
.TP
.B EIO
.I Request
n'est pas valide.
.SH "CONFORMITE"
SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3
.SH "VOIR AUSSI"
.BR gdb (1),
.BR exec (3),
.BR signal (2),
.BR wait (2)
|