From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21611 invoked by alias); 6 Feb 2003 00:44:24 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 21604 invoked from network); 6 Feb 2003 00:44:21 -0000 Received: from unknown (HELO nick.uklinux.net) (194.247.50.219) by 172.16.49.205 with SMTP; 6 Feb 2003 00:44:21 -0000 Received: by nick.uklinux.net (Postfix, from userid 501) id 4872076037; Thu, 6 Feb 2003 00:41:05 +0000 (GMT) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15937.44833.337142.403705@nick.uklinux.net> Date: Thu, 06 Feb 2003 00:44:00 -0000 To: Elena Zannoni Cc: gdb@sources.redhat.com Subject: Re: Questions about GDB/MI In-Reply-To: <15936.22858.719117.119973@localhost.redhat.com> References: <15936.19654.642542.951794@nick.uklinux.net> <15936.22858.719117.119973@localhost.redhat.com> X-SW-Source: 2003-02/txt/msg00120.txt.bz2 ... > > I get: > > > > -> -stop > > <- ^error,msg="Undefined MI command: stop" > > <- (gdb) > > > > Hmmm, bogus docs. 'stop' as a command hasn't been implemented. There > is a comment in the .texinfo file about this. The command that does this is > available only on async targets (remote), and is called exec-interrupt. > > Could you file a bug report? I have done this. ... > Are you lookng at html or ps? In the .texinfo file the text is > correct, it is just not formatted properly: > > @example > -> print 1+2 > <- &"print 1+2\n" > <- ~"$1 = 3\n" > <- ^done > <- (@value{GDBP}) > @end example > > could you file another bug report? This was my mistake. I'm now looking at the *current* documentation. > > Running a simple program, I get a sequence like: > > > > -> -exec-next > > <- ^running > > <- (gdb) > > <- *stopped,reason="end-stepping-range",thread-id="0",frame={addr="0x08048578",func="main",args=[],file="myprog.c",line="18"} > > <- (gdb) ... > > > > i.e isn't that one (gdb) too many? > > > > I get the extra prompt too. Are you running on a native target? > Or on a remote target? On a remote target, the async capability of gdb > when running the inferior is real (if using 'target async'), while on > native, it is simulated. I wonder if there is a mismatch somewhere. > Anyway, if you are just running natively, it may be simply another doc > error. > I'm doing everything on one machine (=native?) but I don't see how this makes it a doc error unless there are *meant* to be two (gdb)'s for native and one for remote targets. > Some of the documentation was written before we implemented the > commands, it evolved from a design doc into a user guide. > > > My simple program prints out: > > > > a[0]=0 > > > > shouldn't that be: > > > > @"a[0]=0" > Don't remember what the status of this is. Look through the bugs > database, for open MI bugs. But I see a testcase in the testsuite, and > code in the mi directory, so it should work. This seems a pretty fundamental requirement. If it doesn't work, for native targets say, how does Project Builder do stream separation in these cases? > > Annotation uses ^Z^Z to flag things which I guess is not normal > > output. What would happen if the program being debugged printed out > > strings like *stopped or ^running? These only contain ASCII characters > > after all. > > > > we added the number prefixes to the command, to help in cases like these > if you say: > 222-exec-next > you would get > 222^running > 222*stopped Hmm. I'm not sure how I would use that as a strategy. But, as Daniel Jacobowitz points out , if program's output is always escaped with the prefix above, there may not be a problem. > > ...every time I use `cvs update' in src, even > > without the -d option it keeps on trying to give me other directories > > like binutils. I have to go into gdb and do `cvs update' there where I > > just get gdbtk but I'm worried that then I might be missing other files > > that I need.. > > > > yes, update -d at the top level brings in everything in the > repository, i.e. ignores the fact you checked out just a single > module. Use cvs update -dP (P prunes empty directories) in the gdb > directory. But if you followed the instructions from the web site, you > should have everything. But I've not used -d. If I follow the instructions from the web site, it appears that I *do* get everything but I just want gdb. I hope that I sound confused rather than ungrateful. Thanks for your help. Nick