Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

NAME

       ptrace - Prozessverfolgung

ÜBERSICHT

       #include <sys/ptrace.h>

       int ptrace(int request, int pid, int addr, int data);

BESCHREIBUNG

       Ptrace  stellt  einen Weg zur Verfügung, durch den ein Vaterprozess die
       Ausführung  eines  Tochterprozesses   kontrollieren   und   sein   core
       überwachen   und   ändern   kann.    Der  Hauptnutzen  besteht  in  der
       Implementation von Fehlersuche  mit  Unterbrechungspunkten  (breakpoint
       debugging).   Ein  getraceter  Prozess  läuft  bis ein Signal auftritt.
       Dann stoppt er und der Vater wird benachrichtigt durch  wait(2).   Wenn
       des  Prozess  sich  in  gestopptem Zustand befindet, kann sein Speicher
       gelesen und beschrieben  werden.   Der  Vater  kann  auch  die  Tochter
       bewegen,  die  Ausführung  fortzusetzen; optional kann das Signal, dass
       das Stoppen bewirkte, ignoriert werden.

       Der Wert des Arguments request legt die genaue Aktion des Systemaufrufs
       fest:

       PTRACE_TRACEME
              Dieser  Prozess  wird  durch  seinen  Vater verfolgt.  Der Vater
              sollte erwarten die Tochter zu verfolgen.

       PTRACE_PEEKTEXT, PTRACE_PEEKDATA
              Lese Wort bei Adresse addr.

       PTRACE_PEEKUSR
              Lese Wort bei Adresse addr im USER-Bereich.

       PTRACE_POKETEXT, PTRACE_POKEDATA
              Schreibe Wort an Adresse addr.

       PTRACE_POKEUSR
              Schreibe Wort an Adresse addr im USER-Bereich.

       PTRACE_SYSCALL, PTRACE_CONT
              Fahre fort nach Signal.

       PTRACE_KILL
              Sendet dem Tochterprozess ein SIGKILL um ihn zu beenden.

       PTRACE_SINGLESTEP
              Setze das trap Flag für Einzelschrittmodus.

       PTRACE_ATTACH
              Hänge an den Prozess an, der durch pid spezifiziert ist.

       PTRACE_DETACH
              Gib einen Prozess frei, der vorher verbunden war.

BEMERKUNGEN

       init, der Prozess mit der Prozessnummer 1, darf  diese  Funktion  nicht
       benutzen.

RÜCKGABEWERT

       Bei   Erfolg   wird   Null   zurückgegeben.    Im  Fehlerfall  wird  -1
       zurückgegeben und errno entsprechend gesetzt.

FEHLER

       EPERM   Der angegebene Prozess (d.h.  init), kann nicht verfolgt werden
               oder wird bereits verfolgt.

       ESRCH   Der angegebene Prozess existiert nicht.

       EIO     Request ist nicht gültig.

KONFORM ZU

       SVID EXT, AT&T, X/OPEN, BSD 4.3

SIEHE AUCH

       gdb(1), exec(2), signal(2), wait(2).