From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28494 invoked by alias); 26 Nov 2003 21:23:08 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28487 invoked from network); 26 Nov 2003 21:23:07 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 26 Nov 2003 21:23:07 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id hAQLN7H28737 for ; Wed, 26 Nov 2003 16:23:07 -0500 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id hAQLN6w03561; Wed, 26 Nov 2003 16:23:06 -0500 Received: from tortoise.toronto.redhat.com (tortoise.toronto.redhat.com [172.16.14.92]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id hAQLN5Q1024708; Wed, 26 Nov 2003 16:23:05 -0500 Subject: Re: [WIP] pending breakpoint support From: Thomas Fitzsimmons To: Michael Snyder Cc: "J. Johnston" , gdb-patches@sources.redhat.com In-Reply-To: <3FC50D53.6060708@redhat.com> References: <3FBAC14D.4060002@redhat.com> <20031119150659.GA14955@nevyn.them.org> <3FBBFD90.8080106@redhat.com> <3FBE95D3.4000300@redhat.com> <3FC506D2.2020804@redhat.com> <3FC50D53.6060708@redhat.com> Content-Type: text/plain Message-Id: <1069881785.32360.34.camel@tortoise.toronto.redhat.com> Mime-Version: 1.0 Date: Wed, 26 Nov 2003 21:23:00 -0000 Content-Transfer-Encoding: 7bit X-SW-Source: 2003-11/txt/msg00596.txt.bz2 On Wed, 2003-11-26 at 15:30, Michael Snyder wrote: > J. Johnston wrote: > > Thomas Fitzsimmons wrote: > > > >> On Fri, 21 Nov 2003 17:46:43 -0500, J. Johnston wrote: > >> > >> > >>> I have appended a patch to replace the previous hack. I changed the > >>> code so it supports conditionals and doesn't fail if you specify > >>> source:line breakpoints. I also changed the mechanism to add a new flag > >>> to the breakpoint struct called "pending". As you will notice, this > >>> adds a large number of checks because you can't just check for > >>> enable_state == bp_enabled without also checking for the pending > >>> flag. I think that having two more enable states would have been > >>> simpler, but > >>> I will let all of you decide. With this change, you can enable/disable > >>> the pending breakpoint and see any conditionals attached to it. Commands > >>> should also work. > >>> > >> > >> > >> I've been using this patch since it was posted and it is very useful for > >> both Mozilla and libgcj debugging. One minor UI nit: I don't think I > >> should be asked whether to make a breakpoint pending; I think the > >> "pending" message is enough (or maybe the behaviour could be > >> configurable). > >> > > > > IMO, the query should be the default. If there is no query, every time > > you make a mistake, you would end up with an unwanted pending > > breakpoint. Anybody, feel free to jump in with your comments. > > That's right. That's why at NeXT we had to keep some distinction > between a pending breakpoint and an ordinary breakpoint. Otherwise, > you mistype "break mian", and you never find out you've made a mistake > until it's too late. > The differences in the pending and non-pending output messages should be enough to indicate that something's wrong: Breakpoint 1 (mian) pending. vs. Breakpoint 1 at 0x806b513: file main.c, line 180. Anyway, it's not a big deal. > > Regarding the annoyance of having to answer many queries, this could be > > addressed in the future with a new setting, but that should be kept > > separate from the initial base implementation. > > Maybe a "-f" (for force) option. "Break here, and I really mean it". > Hmm, I think I would prefer a setting. But like Jeff said, that feature can be added later if it's generally desired. Tom