Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

PTRACE

Section: Systemaufrufe (2)
Updated: 6. Oktober 1996
Index Return to Main Contents
 

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 Vaterprozeß 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 Prozeß läuft bis ein Signal auftritt. Dann stoppt er und der Vater wird benachrichtigt durch wait(2). Wenn des Prozeß 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, daß das Stoppen bewirkte, ignoriert werden.

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

PTRACE_TRACEME
Dieser Prozeß 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
Send dem Tochterprozeß ein SIGKILL um ihn zu beenden.
PTRACE_SINGLESTEP
Setze das trap Flag für Einzelschrittmodus.
PTRACE_ATTACH
Haenge an den Prozeß an, der durch pid spezifiziert ist.
PTRACE_DETACH
Gib einen Prozeß frei, der vorher verbunden war.
 

BEMERKUNGEN

init, der Prozeß 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).


 

Index

NAME
ÜBERSICHT
BESCHREIBUNG
BEMERKUNGEN
RÜCKGABEWERT
FEHLER
KONFORM ZU
SIEHE AUCH

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.