From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22460 invoked by alias); 20 Oct 2003 18:48:58 -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 22452 invoked from network); 20 Oct 2003 18:48:57 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 20 Oct 2003 18:48:57 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200] (may be forged)) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h9KImuM18915 for ; Mon, 20 Oct 2003 14:48:56 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h9KImtL29631; Mon, 20 Oct 2003 14:48:55 -0400 Received: from redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id h9KImtJ29214; Mon, 20 Oct 2003 11:48:55 -0700 Message-ID: <3F942E17.2040203@redhat.com> Date: Mon, 20 Oct 2003 18:48:00 -0000 From: Michael Snyder Organization: Red Hat, Inc. User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Eli Zaretskii CC: gdb-patches@sources.redhat.com Subject: Re: RFA: Breakpoint infrastructure cleanups [0/8] References: <20031008165534.GA8718@nevyn.them.org> <20031008190502.GA13579@nevyn.them.org> <3F846B04.2070801@redhat.com> <3F85B4AC.7000000@redhat.com> <20031014013831.GB6118@nevyn.them.org> <3F8C18DD.3020508@redhat.com> <20031014155126.GA10669@nevyn.them.org> <3F8C605E.1060604@redhat.com> <20031015224134.GA4102@nevyn.them.org> <6654-Thu16Oct2003085007+0200-eliz@elta.co.il> <3F8EAA56.3020900@gnu.org> <7494-Thu16Oct2003175650+0200-eliz@elta.co.il> <3F8F28A2.30000@redhat.com> <7137-Fri17Oct2003084207+0200-eliz@elta.co.il> <3F90616C.3060001@redhat.com> <5567-Sat18Oct2003103846+0200-eliz@elta.co.il> In-Reply-To: <5567-Sat18Oct2003103846+0200-eliz@elta.co.il> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-10/txt/msg00620.txt.bz2 Eli Zaretskii wrote: >>Date: Fri, 17 Oct 2003 14:38:52 -0700 >>From: Michael Snyder >> >>Debugging using tracepoints is a totally different process >>than debugging with breakpoints. It's like planning and >>setting up a photo or video shoot, going away while someone >>else does the filming, then coming back and looking at >>the results. > > > Debugging with tracepoints indeed uses a different paradigm, but > _operations_ on tracepoints are almost identical to those for > breakpoints: they have the same syntax and a very similar semantics. That's true -- by design. > Like breakpoints, each tracepoint is a trap in some point of code, > designed to do something when the program gets to that point. _May_ be a trap. That part of the implementation is on the target, and gdb doesn't know how it is implemented. We're both right -- the interface is very similar, but the concept and the way it is used is very different. > > >>Asynchronous signals aren't like traps at all. > > > I didn't mean to say they were. I meant to say that catching forks, > signals, longjmps, and syscalls works by setting traps in some > specific portions of the program's code. Except for asynchronous signals. I haven't tried real hard to find other exceptions, but that's one. > So it's the same as setting > a breakpoint, we just give the user a convenience feature to ease the > way of specifying the place where to set the trap. > > In other words, all these features use breakpoints of some kind, it's > only their use in the higher-level view of the debugging process is > different. When discussing the syntax and semantics of these > commands, I think the lower-level similarity is what matters, not the > higher-level distinction of their application. Well, again, the interface may be the same. The implementation may be similar (although in many cases we're actually setting a "mystery breakpoint" at a location the user knows nothging about). But conceptually they are very different.