Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
I386_SET_WATCH(3)      FreeBSD Library Functions Manual	     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 debug registers
     as	indicated by the arguments.  The watchnum argument specifies 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 process.

RETURN VALUES
     On	success, the i386_clr_watch() function returns 0.  On error, -1
     returned which indicates that watchnum is invalid (not in the range of
     0-3).  If the specified watchnum was already disabled, no error is
     returned.

     On	success, the i386_set_watch() function returns the watchnum argument,
     or	the watchnum actually used in the case where the specified watchnum
     was -1.  On error,	the i386_set_watch() function returns -1 indicating
     that the watchpoint could not established because either no more watch-
     points 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.

FreeBSD	10.1			August 24, 2000			  FreeBSD 10.1

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=i386_set_watch&sektion=3&manpath=FreeBSD+10.0-RELEASE>

home | help