From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18042 invoked by alias); 18 Jun 2002 18:34: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 17998 invoked from network); 18 Jun 2002 18:34:30 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 18 Jun 2002 18:34:30 -0000 Received: from makita.cygnus.com (makita.sfbay.redhat.com [192.168.30.83]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id LAA07494 for ; Tue, 18 Jun 2002 11:34:30 -0700 (PDT) Received: from localhost (keiths@localhost) by makita.cygnus.com (8.8.8+Sun/8.6.4) with ESMTP id LAA07364 for ; Tue, 18 Jun 2002 11:34:29 -0700 (PDT) X-Authentication-Warning: makita.cygnus.com: keiths owned process doing -bs Date: Tue, 18 Jun 2002 11:34:00 -0000 From: Keith Seitz X-X-Sender: To: Subject: Re: [RFC/MI] Event Records vs Commands In-Reply-To: <3D0BF36F.8090409@cygnus.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-06/txt/msg00325.txt.bz2 On Sat, 15 Jun 2002, Andrew Cagney wrote: > Try: > > ...want to document ``notify-async-output'' or (less likely?) replace it > with ``event-async-output''. This is the approach I've taken with my next attempt (which also includes the fixes recommended by Eli, following the convention with two spaces after @value{GDBN} -- if people want me to switch them all to use @., I can submit separate patch for that). > Async output is anything that isn't bound to ``^done'' et.al. > But it seems to be bound to the prompt. Apple has changed their version so that it is NOT bound to the prompt. We'll need to discuss this sometime later. Next round of comments, please. Keith Index: mi/gdbmi.texinfo =================================================================== RCS file: /cvs/src/src/gdb/mi/gdbmi.texinfo,v retrieving revision 1.26 diff -p -r1.26 gdbmi.texinfo *** mi/gdbmi.texinfo 25 Feb 2002 02:13:09 -0000 1.26 --- mi/gdbmi.texinfo 18 Jun 2002 18:26:24 -0000 *************** prefixed by @samp{+}. *** 313,321 **** @item @cindex notify output in @sc{gdb/mi} ! @var{notify-async-output} contains supplementary information that the ! client should handle (e.g., a new breakpoint information). All notify ! output is prefixed by @samp{=}. @item @cindex console output in @sc{gdb/mi} --- 313,321 ---- @item @cindex notify output in @sc{gdb/mi} ! @var{notify-async-output} contains supplementary information (events) that the ! client should handle (e.g., a new breakpoint was inserted). All notify ! are prefixed by @samp{=}. @item @cindex console output in @sc{gdb/mi} *************** Here's an example of a simple CLI comman *** 386,392 **** @example -> -symbol-file xyz.exe ! <- *breakpoint,nr="3",address="0x123",source="a.c:123" <- (@value{GDBP}) @end example --- 388,395 ---- @example -> -symbol-file xyz.exe ! <- =breakpoint-create,number="3" ! <- ^done <- (@value{GDBP}) @end example *************** additional changes that have occurred. *** 492,501 **** consequence of @sc{gdb/mi} (e.g., a breakpoint modified) or a result of target activity (e.g., target stopped). ! The following is a preliminary list of possible out-of-band records. @table @code ! @item "*" "stop" @end table --- 495,526 ---- consequence of @sc{gdb/mi} (e.g., a breakpoint modified) or a result of target activity (e.g., target stopped). ! The following is a preliminary list of out-of-band records. @table @code ! @item stop ! The inferior stopped. ! @c Need an example! ! ! @item breakpoint-create ! @itemx breakpoint-modify ! @itemx breakpoint-delete ! @itemx tracepoint-create ! @itemx tracepoint-modify ! @itemx tracepoint-delete ! A breakpoint or tracepoint was created, modified, or deleted. In all cases, ! the event will also report the @code{number} of the affected breakpoint/tracepoint: ! @smallexample ! =breakpoint-create,number="1" ! @end smallexample ! ! @item architecture-changed ! This event indicates that @value{GDBN} has changed architectures, and that ! the user interface may need to update certain views that are architecture-dependent, ! such as registers. ! @smallexample ! =architecture-changed ! @end smallexample @end table *************** The corresponding @value{GDBN} command i *** 574,583 **** @smallexample (@value{GDBP}) -break-insert main ! ^done,bkpt=@{number="1",addr="0x000100d0",file="hello.c",line="5"@} (@value{GDBP}) -break-after 1 3 ! ~ ^done (@value{GDBP}) -break-list --- 599,609 ---- @smallexample (@value{GDBP}) -break-insert main ! =breakpoint-create,number="1" ! ^done (@value{GDBP}) -break-after 1 3 ! =breakpoint-modify,number="1" ^done (@value{GDBP}) -break-list *************** The corresponding @value{GDBN} command i *** 626,631 **** --- 652,658 ---- @smallexample (@value{GDBP}) -break-condition 1 1 + =breakpoint-modify,number="1" ^done (@value{GDBP}) -break-list *************** The corresponding @value{GDBN} command i *** 663,668 **** --- 690,696 ---- @example (@value{GDBP}) -break-delete 1 + =breakpoint-delete,number="1" ^done (@value{GDBP}) -break-list *************** The corresponding @value{GDBN} command i *** 698,703 **** --- 726,732 ---- @smallexample (@value{GDBP}) -break-disable 2 + =breakpoint-modify,number="2" ^done (@value{GDBP}) -break-list *************** The corresponding @value{GDBN} command i *** 733,738 **** --- 762,768 ---- @smallexample (@value{GDBP}) -break-enable 2 + =breakpoint-modify,number="2" ^done (@value{GDBP}) -break-list *************** given regular expression. Other flags a *** 808,831 **** expresson. @end table - @subsubheading Result - - The result is in the form: - - @example - ^done,bkptno="@var{number}",func="@var{funcname}", - file="@var{filename}",line="@var{lineno}" - @end example - - @noindent - where @var{number} is the @value{GDBN} number for this breakpoint, @var{funcname} - is the name of the function where the breakpoint was inserted, - @var{filename} is the name of the source file which contains this - function, and @var{lineno} is the source line number within that file. - - Note: this format is open to change. - @c An out-of-band breakpoint instead of part of the result? - @subsubheading @value{GDBN} Command The corresponding @value{GDBN} commands are @samp{break}, @samp{tbreak}, --- 838,843 ---- *************** The corresponding @value{GDBN} commands *** 836,845 **** @smallexample (@value{GDBP}) -break-insert main ! ^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",line="4"@} (@value{GDBP}) -break-insert -t foo ! ^done,bkpt=@{number="2",addr="0x00010774",file="recursive2.c",line="11"@} (@value{GDBP}) -break-list ^done,BreakpointTable=@{nr_rows="2",nr_cols="6", --- 848,859 ---- @smallexample (@value{GDBP}) -break-insert main ! =breakpoint-create,number="1" ! ^done (@value{GDBP}) -break-insert -t foo ! =breakpoint-create,number="2" ! ^done (@value{GDBP}) -break-list ^done,BreakpointTable=@{nr_rows="2",nr_cols="6", *************** addr="0x00010774",func="foo",file="recur *** 856,862 **** (@value{GDBP}) -break-insert -r foo.* ~int foo(int, int); ! ^done,bkpt=@{number="3",addr="0x00010774",file="recursive2.c",line="11"@} (@value{GDBP}) @end smallexample --- 870,877 ---- (@value{GDBP}) -break-insert -r foo.* ~int foo(int, int); ! =breakpoint-create,number="1" ! ^done (@value{GDBP}) @end smallexample *************** Setting a watchpoint on a variable in th *** 965,971 **** @smallexample (@value{GDBP}) -break-watch x ! ^done,wpt=@{number="2",exp="x"@} (@value{GDBP}) -exec-continue ^running --- 980,987 ---- @smallexample (@value{GDBP}) -break-watch x ! =breakpoint-create,number="2" ! ^done (@value{GDBP}) -exec-continue ^running *************** for the watchpoint going out of scope. *** 982,988 **** @smallexample (@value{GDBP}) -break-watch C ! ^done,wpt=@{number="5",exp="C"@} (@value{GDBP}) -exec-continue ^running --- 998,1005 ---- @smallexample (@value{GDBP}) -break-watch C ! =breakpoint-create,number="5" ! ^done (@value{GDBP}) -exec-continue ^running *************** deleted. *** 1007,1013 **** @smallexample (@value{GDBP}) -break-watch C ! ^done,wpt=@{number="2",exp="C"@} (@value{GDBP}) -break-list ^done,BreakpointTable=@{nr_rows="2",nr_cols="6", --- 1024,1031 ---- @smallexample (@value{GDBP}) -break-watch C ! =breakpoint-create,number="2" ! ^done (@value{GDBP}) -break-list ^done,BreakpointTable=@{nr_rows="2",nr_cols="6",