From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 412 invoked by alias); 18 Oct 2003 08:43:35 -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 399 invoked from network); 18 Oct 2003 08:43:32 -0000 Received: from unknown (HELO gollum.inter.net.il) (192.114.186.22) by sources.redhat.com with SMTP; 18 Oct 2003 08:43:32 -0000 Received: from zaretski ([80.230.158.102]) by gollum.inter.net.il (Mirapoint Messaging Server MOS 3.3.7-GR) with ESMTP id BQL69724; Sat, 18 Oct 2003 10:43:22 +0200 (IST) Date: Sat, 18 Oct 2003 08:43:00 -0000 From: "Eli Zaretskii" To: Michael Snyder Message-Id: <5567-Sat18Oct2003103846+0200-eliz@elta.co.il> CC: gdb-patches@sources.redhat.com In-reply-to: <3F90616C.3060001@redhat.com> (message from Michael Snyder on Fri, 17 Oct 2003 14:38:52 -0700) Subject: Re: RFA: Breakpoint infrastructure cleanups [0/8] Reply-to: Eli Zaretskii 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> X-SW-Source: 2003-10/txt/msg00598.txt.bz2 > 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. Like breakpoints, each tracepoint is a trap in some point of code, designed to do something when the program gets to that point. > 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. 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.