From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14450 invoked by alias); 20 Jul 2009 13:19:55 -0000 Received: (qmail 14439 invoked by uid 22791); 20 Jul 2009 13:19:54 -0000 X-SWARE-Spam-Status: No, hits=-2.3 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; Mon, 20 Jul 2009 13:19:48 +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 n6KDJeNM019103; Mon, 20 Jul 2009 08:19:41 -0500 Received: from ecamlmw720.eamcs.ericsson.se ([142.133.1.72]) by eusrcmw750.eamcs.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 20 Jul 2009 08:19:41 -0500 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: Reverse debugging Date: Mon, 20 Jul 2009 13:19:00 -0000 Message-ID: <6D19CA8D71C89C43A057926FE0D4ADAA07BFF98B@ecamlmw720.eamcs.ericsson.se> In-Reply-To: <6D19CA8D71C89C43A057926FE0D4ADAA07BFF93E@ecamlmw720.eamcs.ericsson.se> References: <19035.54231.157231.624882@totara.tehura.co.nz> <19035.57129.173542.368393@totara.tehura.co.nz> <4A5CC0E1.7020800@vmware.com> <19037.16041.589932.535743@totara.tehura.co.nz> <6D19CA8D71C89C43A057926FE0D4ADAA07BD6DD6@ecamlmw720.eamcs.ericsson.se> <19039.58589.853319.841012@totara.tehura.co.nz> <6D19CA8D71C89C43A057926FE0D4ADAA07BD7500@ecamlmw720.eamcs.ericsson.se> <20090717142516.GA29249@caradoc.them.org> <6D19CA8D71C89C43A057926FE0D4ADAA07BD7ADC@ecamlmw720.eamcs.ericsson.se> <6D19CA8D71C89C43A057926FE0D4ADAA07BFF93E@ecamlmw720.eamcs.ericsson.se> From: "Marc Khouzam" To: "Marc Khouzam" , "Hui Zhu" , "Nick Roberts" Cc: "Daniel Jacobowitz" , , "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-07/txt/msg00139.txt.bz2 Typo in my previous email. Sorry. > (Note that I'm only suggesting to not make the query default to 'Y'. > There would still be a query though.) Should have read (no "not") > (Note that I'm only suggesting to make the query default to 'Y'. > There would still be a query though.) > -----Original Message----- > From: gdb-owner@sourceware.org=20 > [mailto:gdb-owner@sourceware.org] On Behalf Of Marc Khouzam > Sent: Monday, July 20, 2009 8:50 AM > To: Hui Zhu; Nick Roberts > Cc: Daniel Jacobowitz; gdb@sources.redhat.com; Michael Snyder > Subject: RE: Reverse debugging >=20 >=20=20 >=20 > > -----Original Message----- > > From: Hui Zhu [mailto:teawater@gmail.com]=20 > > Sent: Sunday, July 19, 2009 11:27 PM > > To: Marc Khouzam; Nick Roberts > > Cc: Daniel Jacobowitz; gdb@sources.redhat.com; Michael Snyder > > Subject: Re: Reverse debugging > >=20 > > Thanks Marc, but what about I keep it but add some switches for it? > > I want keep the query to tui user. > > For example: > > set record query off > > set record changememeory on >=20 > (Note that I'm only suggesting to make the query default to 'Y'. > There would still be a query though.) >=20 > I've been giving the whole problem a little more thought, and I now > think that it is the way queries are answered that should be changed > generically. >=20 > I'll post a patch today and see what people think. >=20 > Note that the suggestion I will post will rely on 'set confirm off'. > If Nick cannot use that then he'll still need you to have a switch to > turn these queries off. >=20 > Thanks >=20 > Marc >=20 >=20 > >=20 > > Thanks, > > Hui > >=20 > >=20 > > On Sun, Jul 19, 2009 at 11:19, Marc=20 > > Khouzam wrote: > > >> -----Original Message----- > > >> From: Daniel Jacobowitz [mailto:drow@false.org] > > >> Sent: July-17-09 10:25 AM > > >> To: Marc Khouzam > > >> Cc: Nick Roberts; Hui Zhu; gdb@sources.redhat.com; Michael Snyder > > >> Subject: Re: Reverse debugging > > >> > > >> On Fri, Jul 17, 2009 at 10:12:00AM -0400, Marc Khouzam wrote: > > >> > I noticed that the previous CDT GDB integration has its console > > >> > considered > > >> > a tty. =A0It may be worth looking into the difference... when > > >> time allows > > >> > it :-) > > >> > > >> Wasn't someone just talking on cdt-dev about trouble with=20 > > whether DSF > > >> used Spawner or not? =A0That'd do it. > > > > > > I was wrong about the console being a tty. =A0The old CDT GDB=20 > > integration > > > console is also not a tty. =A0What they do though is use > > > 'set confirm off'. =A0That makes sense since queries are=20 > > being answered > > > automatically anyway. > > > > > > Nick, in your specific case 'confirm off' would work. =A0The default > > > answer to > > > 'record stop' is yes (well, there is not default, but in=20 > > that case, 'y' > > > is > > > chosen). =A0If you don't want to always 'set confirm off' you=20 > > may consider > > > setting it right before sending 'record stop' and turn it back on > > > right after. =A0That may be a good enough workaround until=20 > there is a > > > proper > > > solution to this query problem. > > > > > > For me the problem for PRecord remains because the=20 > default value is > > > not always what I want. =A0For example, in PRecord the=20 > default answer > > > to changing memory and loosing the recorded history > > > is "N", but as a frontend, I want to answer "Y". > > > > > > To fix this problem I suggest that in record.c, > > > we replace 'nquery' with 'query'; that will make the=20 > > default be 'Y' when > > > > > > confirm is off or when there is no tty. =A0Note that this=20 > > seems to be what > > > > > > is being done everywhere else in GDB. =A0There is only one=20 > > case (pending > > > breakpoints) that uses default queries, outside of PRecord.=20 > > =A0Except for > > > that > > > one case, it is really only PRecord that uses yquery and=20 > > nquery. =A0And > > > the > > > pending breakpoint case is not a problem for frontends that use MI > > > because > > > the MI command does not trigger the query. > > > > > > Note that up to now, I've been recompiling GDB with that=20 > suggestion > > > so that I can properly use PRecord in Eclipse. > > > > > > The below patch implements the suggestion. > > > > > > Thanks > > > > > > Marc > > > > > > ChangeLog > > > 2009-07-18 =A0Marc Khouzam =A0 > > > > > > =A0 =A0 =A0 =A0* record.c (record_store_registers): Replace nquery wi= th > > > =A0 =A0 =A0 =A0query to allow frontends to automatically answer 'y'. > > > =A0 =A0 =A0 =A0(record_xfer_partial): Ditto. > > > > > > > > > ### Eclipse Workspace Patch 1.0 > > > #P src > > > Index: gdb/record.c > > >=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > RCS file: /cvs/src/src/gdb/record.c,v > > > retrieving revision 1.8 > > > diff -u -r1.8 record.c > > > --- gdb/record.c =A0 =A0 =A0 =A02 Jul 2009 17:21:06 -0000 =A0 =A0 =A0= 1.8 > > > +++ gdb/record.c =A0 =A0 =A0 =A019 Jul 2009 03:06:01 -0000 > > > @@ -937,13 +937,13 @@ > > > =A0 =A0 =A0 =A0 =A0/* Let user choose if he wants to write register=20 > > or not. =A0*/ > > > =A0 =A0 =A0 =A0 =A0if (regno < 0) > > > =A0 =A0 =A0 =A0 =A0 =A0n =3D > > > - =A0 =A0 =A0 =A0 =A0 =A0 nquery (_("Because GDB is in replay mode,=20 > > changing the " > > > + =A0 =A0 =A0 =A0 =A0 =A0 query (_("Because GDB is in replay mode,=20 > > changing the " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"value of a register w= ill make the=20 > > execution " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"log unusable from thi= s point onward. =A0" > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"Change all registers?= ")); > > > =A0 =A0 =A0 =A0 =A0else > > > =A0 =A0 =A0 =A0 =A0 =A0n =3D > > > - =A0 =A0 =A0 =A0 =A0 =A0 nquery (_("Because GDB is in replay mode,=20 > changing the > > > value " > > > + =A0 =A0 =A0 =A0 =A0 =A0 query (_("Because GDB is in replay mode,=20 > changing the > > > value " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"of a register will ma= ke the execution log > > > unusable " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0"from this point onwar= d. =A0Change=20 > > register %s?"), > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0gdbarch_register_name (get= _regcache_arch > > > (regcache), > > > @@ -993,7 +993,7 @@ > > > =A0 =A0 =A0 if (RECORD_IS_REPLAY) > > > =A0 =A0 =A0 =A0{ > > > =A0 =A0 =A0 =A0 =A0/* Let user choose if he wants to write memory=20 > or not. =A0*/ > > > - =A0 =A0 =A0 =A0 if (!nquery (_("Because GDB is in replay mode,=20 > writing to > > > memory " > > > + =A0 =A0 =A0 =A0 if (!query (_("Because GDB is in replay mode, writi= ng to > > > memory " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "will make the execut= ion log=20 > > unusable from this > > > " > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 "point onward. =A0Wri= te memory at=20 > > address %s?"), > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 paddress (target_gdbarch,= offset))) > > > > > > > > > > > > > >=20 >=20