From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5824 invoked by alias); 23 Nov 2007 15:51:58 -0000 Received: (qmail 5816 invoked by uid 22791); 23 Nov 2007 15:51:58 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 23 Nov 2007 15:51:54 +0000 Received: (qmail 31096 invoked from network); 23 Nov 2007 15:51:52 -0000 Received: from unknown (HELO wind.local) (vladimir@127.0.0.2) by mail.codesourcery.com with ESMTPA; 23 Nov 2007 15:51:52 -0000 From: Vladimir Prus To: "Pierre Muller" Subject: Re: [RFA] Clarify infrun variable naming. Date: Fri, 23 Nov 2007 15:51:00 -0000 User-Agent: KMail/1.9.6 Cc: gdb-patches@sources.redhat.com References: <200711231623.04823.vladimir@codesourcery.com> <006001c82de7$60649940$212dcbc0$@u-strasbg.fr> In-Reply-To: <006001c82de7$60649940$212dcbc0$@u-strasbg.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200711231851.47586.vladimir@codesourcery.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-11/txt/msg00426.txt.bz2 On Friday 23 November 2007 18:41:55 Pierre Muller wrote: > > > But this is the reason of the failure to catch watchpoints > > > that happen at the point where we are just stepping over a > > breakpoint, > > > because we step with the watchpoints disabled. > > > Why don't we enable all break- and watchpoints but the > > > ones that do have the same PC we are currently? > > > > Because that's extra work, and I haven't got around to that yet ;-) > > In case of watchpoints, you probably meant enabling all watchpoint > > at different data address, not PC? > Stepping over watchpoint is architechture dependent, > for i386 this is not needed as the watchpoint is generated with PC > at the instruction after the one that triggered the watchpoint... Yes. What I mean is that there are two situations now: 1. When we step over breakpoint, we disable everything, including watchpoints. 2. When we hit watchpoint, and the PC is at the instruction itself, we disable all breakpoints and watchpoints when stepping. (2) might not be a problem now, but if we wish to interact with one thread, while others are running, it might become a problem -- other threads might miss unrelated breakpoints and watchpoints. So, we need to: - Remove breakpoints at current PC - Remove watchpoint a the address being accessed - Single step I suspect you was more interested in (1), but that's basically two sides of the coin. - Volodya