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

FreeBSD Manual Pages

  
 
  

home | help
I386_SET_WATCH(3)	 BSD 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
     i386_clr_watch() will disable the indicated watch point within the	speci-
     fied debug	register set.

     i386_set_watch() will set up the specified	debug registers	as indicated
     by	the parameters.	 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.  Watchaddr	specifies the watch address, size specifies
     the size in bytes of the area to be watched (1, 2,	or 4 bytes), and
     access specifes 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
     i386_clr_watch() returns 0	on success, or -1 if watchnum is invalid (not
     in	the range of 0-3).

     i386_set_watch() will return the watchnum argument, or the	watchnum actu-
     ally 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				   BSD

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

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

home | help