i386_set_watch(3)

NAME

i386_clr_watch, i386_set_watch - manage i386 debug register
values

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <machine/reg.h>
#include <machine/sysarch.h>
int
i386_clr_watch(int watchnum, struct dbreg *d);
int
i386_set_watch(int  watchnum,  unsigned  int  watchaddr, int
size,
        int access, struct dbreg *d);

DESCRIPTION

The i386_clr_watch() function will disable the indicated
watch point
within the specified debug register set.
The i386_set_watch() function will set up the specified de
bug registers
as indicated by the arguments. The watchnum argument speci
fies which
watch register is used, 0, 1, 2, 3, or -1. If watchnum is
-1, a free
watch register is found and used. If there are no free
watch registers,
an error code of -1 is returned. The watchaddr argument
specifies the
watch address, size specifies the size in bytes of the area
to be watched
(1, 2, or 4 bytes), and access specifies the type of watch
point:

DBREG_DR7_EXEC An execution breakpoint.
DBREG_DR7_WRONLY Break only when the watch area is
written to.
DBREG_DR7_RDWR Break when the watch area is read
from or written
to.
Note that these functions do not actually set or clear
breakpoints; they
manipulate the indicated debug register set. You must use
ptrace(2) to
retrieve and install the debug register values for a pro
cess.

RETURN VALUES

The i386_clr_watch() function returns 0 on success, or -1 if
watchnum is
invalid (not in the range of 0-3).
The i386_set_watch() function will return the watchnum argu
ment, or the
watchnum actually used in the case that watchnum is -1 on
success. On
error, i386_set_watch() will return -1 indicating that the
watchpoint
could not be set up because either no more watchpoints are
available, or
watchnum, size, or access is invalid.

SEE ALSO

ptrace(2), procfs(5)

AUTHORS

This man page was written by Brian S. Dean.
BSD August 24, 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout