NAME¶
explain_ptrace_or_die - process trace and report errors
SYNOPSIS¶
#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);
DESCRIPTION¶
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.
EXAMPLE¶
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);
SEE ALSO¶
- ptrace(2)
- process trace
- explain_ptrace(3)
- explain ptrace(2) errors
- exit(2)
- terminate the calling process
COPYRIGHT¶
libexplain version 0.52
Copyright (C) 2010 Peter Miller