From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24351 invoked by alias); 6 Feb 2009 07:48:14 -0000 Received: (qmail 24342 invoked by uid 22791); 6 Feb 2009 07:48:13 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from imr1.ericy.com (HELO imr1.ericy.com) (198.24.6.9) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 06 Feb 2009 07:48:06 +0000 Received: from eusrcmw750.eamcs.ericsson.se (eusrcmw750.exu.ericsson.se [138.85.77.50]) by imr1.ericy.com (8.13.1/8.13.1) with ESMTP id n167rxEB028822; Fri, 6 Feb 2009 01:53:59 -0600 Received: from ecamlmw720.eamcs.ericsson.se ([142.133.1.72]) by eusrcmw750.eamcs.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Fri, 6 Feb 2009 01:47:55 -0600 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Re: MI *stopped versus silent breakpoint Date: Fri, 06 Feb 2009 07:48:00 -0000 Message-ID: <6D19CA8D71C89C43A057926FE0D4ADAA04E1BF70@ecamlmw720.eamcs.ericsson.se> References: <6D19CA8D71C89C43A057926FE0D4ADAA06CB0F19@ecamlmw720.eamcs.ericsson.se><6D19CA8D71C89C43A057926FE0D4ADAA04E1BF53@ecamlmw720.eamcs.ericsson.se><200902051225.41426.vladimir@codesourcery.com><6D19CA8D71C89C43A057926FE0D4ADAA04E1BF6C@ecamlmw720.eamcs.ericsson.se><20090205224242.GA1306@caradoc.them.org><6D19CA8D71C89C43A057926FE0D4ADAA04E1BF6E@ecamlmw720.eamcs.ericsson.se> From: "Marc Khouzam" To: "teawater" Cc: "Daniel Jacobowitz" , "Vladimir Prus" , , "Pedro Alves" , "Michael Snyder" X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00058.txt.bz2 Hi, I think you need two proceed(). This is because reverse-finish first sets a bp at the method we want to 'finish' out of, and then it does a single step backwards. So, it looks like it needs this double proceed. The 'issue' I was bringing up is that a -silent- breakpoint was not silent in MI. But now, I agree it should not be silent. Instead it should print a full *stopped event. Marc -----Original Message----- From: teawater [mailto:teawater@gmail.com] Sent: Thu 2/5/2009 10:30 PM To: Marc Khouzam Cc: Daniel Jacobowitz; Vladimir Prus; gdb@sources.redhat.com; Pedro Alves; = Michael Snyder Subject: Re: Re: MI *stopped versus silent breakpoint =20 I remove the line "make_breakpoint_silent" from finish_backward. Whant I got is: (gdb) reverse-finish &"reverse-finish\n" ~"Run back to call of #0 cool () at 1.c:16\n" ^running *running,thread-id=3D"all" (gdb) ~"\n" ~"Breakpoint 0, cool () at 1.c:9\n" ~"9\t{\n" *stopped *running,thread-id=3D"all" ~"main () at 1.c:25\n" ~"25\t b =3D cool ();\n" *stopped (gdb) Does it resolve your trouble? Actually, I am not very clear why you guys give silent breakpoints a lot of attention. I think the main issue is 2 "proceed" 2 "(gdb)". Hui On Fri, Feb 6, 2009 at 07:24, Marc Khouzam wrot= e: > From: Daniel Jacobowitz Thu 2/5/2009 5:42 PM >> On Thu, Feb 05, 2009 at 05:29:26PM -0500, Marc Khouzam wrote: >> > Hi, >> > >> > I'm curious as to the motivation behind silent breakpoints. >> > I'm trying to understand why a frontend would need to know >> > of a silent bp hit, but not a user? >> > For instance, in async mode, if a silent bp is used, >> > how would the user ever know it is hit? And if the user >> > need not know, why would a frontend? >> >> Mostly, they're for commands lists that automatically resume. For >> instance, if you want to increment a counter every time a breakpoint >> is hit, you might mark it as: >> >> silent >> commands >> set $i++ >> continue >> end >> >> What to do with MI notifications in this case, I don't know... > > In the scenario you mention, having a proper *stopped event for > silent bp would pretty much be unnoticed by the user thanks to the > *running event that immediately follows (the frontend would stop and > resume right away.) Same situation for the reverse-finish situation. > > What we have now is an empty *stopped event and that is not much > use for a frontend and would probably cause more confusion than good. > > So, based on Volodya's explanation (that I agree with), and Daniel's > explanation, it seems that there should be a *stopped event for > silent bp, as long as it is complete. Or at least that is what > I believe. > > Thanks for your explanations. > > Marc > >