From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31265 invoked by alias); 16 Nov 2001 22:55:35 -0000 Mailing-List: contact gdb-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 31219 invoked from network); 16 Nov 2001 22:55:30 -0000 Received: from unknown (HELO factorix.sdv.fr) (194.206.196.2) by sourceware.cygnus.com with SMTP; 16 Nov 2001 22:55:30 -0000 Received: from ordimaison (ip-76-210.evc.net [212.95.76.210]) by factorix.sdv.fr (8.11.4/8.11.4) with SMTP id fAGMPbm14635; Fri, 16 Nov 2001 23:25:37 +0100 Message-Id: <3.0.6.32.20011117000436.00b05380@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) Date: Tue, 06 Nov 2001 17:12:00 -0000 To: DJ Delorie , cgf@redhat.com From: muller@cerbere.u-strasbg.fr Subject: Re: x86 hardware breakpoint question Cc: gdb@sources.redhat.com In-Reply-To: <200111162232.fAGMWsW02986@greed.delorie.com> References: <20011116205455.GA18328@redhat.com> <20011115125927.B3449@atlas.lcs.mit.edu> <20011115125927.B3449@atlas.lcs.mit.edu> <4.2.0.58.20011116135651.0128d658@ics.u-strasbg.fr> <2593-Fri16Nov2001184752+0200-eliz@is.elta.co.il> <20011116205455.GA18328@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2001-11/txt/msg00069.txt.bz2 At 17:32 16/11/01 -0500, DJ Delorie wrote: > >> I can't find this, Eli. Can you provide any clues on what to look for? >> I'd like to have hardware brekpoints into cygwin if I can. > >SetThreadContext can set the hardware debug registers. Did you try this out already ? Because one of the problems that I got with my code that uses VirtualProtectEx is that I can't change the single step bit inside a system DLL (under win95 at least). This forced me to add some complicated code, that goes up the frame and sets a breakpoint at the first not system DLL return address. Outside system DLL I can single step over an instruction that triggered the page protection (momentantly disabling that protection) if the address triggering the page protection is not a watched address. So I am surprised to hear that win32 lets you set debug registers, but if that works, great! Are the debug registers process wide or thread specific in that case ?