explain_ptrace_or_die3
Process trace and report errors
Usage
#include <libexplain/ptrace.h>
long explain_ptrace_or_die(int request, pid_t pid, void *addr, void *data);
long explain_ptrace_on_error(int request, pid_t pid, void *addr, void *data);
Overview
The explain_ptrace_or_die function is used to call the ptrace(2) system call. On failure an explanation will be printed to stderr, obtained from the explain_ptrace(3) function, and then the process terminates by calling exit(EXIT_FAILURE).
The explain_ptrace_on_error function is used to call the ptrace(2) system call. On failure an explanation will be printed to stderr, obtained from the explain_ptrace(3) function, but still returns to the caller.
request
|
The request, exactly as to be passed to the ptrace(2) system call. |
|---|---|
pid
|
The pid, exactly as to be passed to the ptrace(2) system call. |
addr
|
The addr, exactly as to be passed to the ptrace(2) system call. |
data
|
The data, exactly as to be passed to the ptrace(2) system call. |
Return value
The explain_ptrace_or_die function only returns on success, see ptrace(2) for more information. On failure, prints an explanation and exits, it does not return.
The explain_ptrace_on_error function always returns the value return by the wrapped ptrace(2) system call.
Examples
The explain_ptrace_or_die function is intended to be used in a fashion similar to the following example:
long result = explain_ptrace_or_die(request, pid, addr, data);
Releases
6 releases since Debian 7 (Wheezy); the text changed 1 time.