* [PATCH] MI Doco
@ 2006-06-02 0:23 Nick Roberts
2006-06-02 9:05 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-02 0:23 UTC (permalink / raw)
To: gdb-patches
The second half of the node "Program Control" has a list of commands which
clearly don't aren't about program control. Having repeatedly spent too
much time looking for -file-list-exec-source-files, I've split the node in
two.
--
Nick http://www.inet.net.nz/~nickrob
2006-06-02 Nick Roberts <nickrob@snap.net.nz>
(GDB/MI Files): New Node split from Program Control.
*** gdb.texinfo 02 Jun 2006 11:30:46 +1200 1.334
--- gdb.texinfo 02 Jun 2006 11:48:33 +1200
*************** Elena Zannoni.
*** 17261,17266 ****
--- 17261,17267 ----
* GDB/MI Breakpoint Table Commands::
* GDB/MI Data Manipulation::
* GDB/MI Program Control::
+ * GDB/MI Files::
* GDB/MI Miscellaneous Commands::
@ignore
* GDB/MI Kod Commands::
*************** file="recursive2.c",fullname="/home/foo/
*** 19520,19525 ****
--- 19521,19529 ----
Is this going away????
@end ignore
+ @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ @node GDB/MI Files
+ @section @sc{gdb/mi} Files
@subheading The @code{-file-exec-and-symbols} Command
@findex -file-exec-and-symbols
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-02 0:23 [PATCH] MI Doco Nick Roberts
@ 2006-06-02 9:05 ` Eli Zaretskii
2006-06-02 10:23 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-02 9:05 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Fri, 2 Jun 2006 12:22:26 +1200
>
>
> The second half of the node "Program Control" has a list of commands which
> clearly don't aren't about program control.
Agreed.
> Having repeatedly spent too much time looking for
> -file-list-exec-source-files
How do you search? Index search (the `i' command in Info) should land
you on the right spot no matter in what node that is.
> I've split the node in two.
Fine with me, but please add some simple sentence about the commands
in this section, and maybe change the node name to "GDB/MI File
Commands" (and similarly for the section name).
Thanks.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-02 9:05 ` Eli Zaretskii
@ 2006-06-02 10:23 ` Nick Roberts
2006-06-02 10:44 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-02 10:23 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > The second half of the node "Program Control" has a list of commands which
> > clearly don't aren't about program control.
>
> Agreed.
I've just noticed that the commands left in "Program Control" are the
asynchronous ones. Perhaps something should be said about that. Actually as
I read through I see a lot of thing that I want to change, but I'll send these
changes together.
> > Having repeatedly spent too much time looking for
> > -file-list-exec-source-files
>
> How do you search? Index search (the `i' command in Info) should land
> you on the right spot no matter in what node that is.
I've had trouble remembering the exact name too!
> > I've split the node in two.
>
> Fine with me, but please add some simple sentence about the commands
> in this section, and maybe change the node name to "GDB/MI File
> Commands" (and similarly for the section name).
OK. Committed
Thanks
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-02 10:23 ` Nick Roberts
@ 2006-06-02 10:44 ` Eli Zaretskii
2006-06-03 23:57 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-02 10:44 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Fri, 2 Jun 2006 22:22:48 +1200
> Cc: gdb-patches@sources.redhat.com
>
> I've just noticed that the commands left in "Program Control" are the
> asynchronous ones. Perhaps something should be said about that. Actually as
> I read through I see a lot of thing that I want to change, but I'll send these
> changes together.
Thanks. The MI docs indeed needs a lot of work, so any improvements
are highly appreciated.
> > > Having repeatedly spent too much time looking for
> > > -file-list-exec-source-files
> >
> > How do you search? Index search (the `i' command in Info) should land
> > you on the right spot no matter in what node that is.
>
> I've had trouble remembering the exact name too!
Please describe how you searched for it, then. Good indexing should
make it very easy, even if the exact name is not known, but to suggest
additional index entries, I must know what words or phrases did you
remember/think about.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-02 10:44 ` Eli Zaretskii
@ 2006-06-03 23:57 ` Nick Roberts
2006-06-04 19:32 ` Eli Zaretskii
2006-06-09 19:07 ` Eli Zaretskii
0 siblings, 2 replies; 32+ messages in thread
From: Nick Roberts @ 2006-06-03 23:57 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > I've just noticed that the commands left in "Program Control" are the
> > asynchronous ones. Perhaps something should be said about that.
> > Actually as I read through I see a lot of thing that I want to change,
> > but I'll send these changes together.
Here's a patch. I've moved two nodes which I realise makes proofreading
harder so here are a few notes:
* The "Simple examples" node is thoroughly changed as the original examples
didn't work.
* The "Miscellaneous Commands" node has only one change (to -gdb-version).
* I've removed the acknowledgements but this is not controversial as they
have already been added to the "Contributors" node (where they belong).
* I've said that asynchronous operation works for remote targets. I've
not experienced that myself but this must be more accurate that implying
it works everywhere.
--
Nick http://www.inet.net.nz/~nickrob
2006-06-04 Nick Roberts <nickrob@snap.net.nz>
* gdb.texinfo (GDB/MI): Remove duplicate acknowledgements.
(GDB/MI Simple Examples): Move node up one level. Use real
examples.
(GDB/MI Compatibility with CLI): Update.
(GDB/MI Result Records): Add "connected" and "exit" result
classes.
(GDB/MI Stream Records): Clarify target output.
(GDB/MI Command Description Format): Modify example description.
(GDB/MI Breakpoint Table Commands): Rename to...
(GDB/MI Breakpoint Commands): ...this
(GDB/MI Breakpoint Commands): Add optional thread field.
(GDB/MI Program Control): Add an introduction. Move "Program
termination" examples into exec-run description.
(GDB/MI File Commands): Mention similar CLI commands.
(GDB/MI Miscellaneous Commands): Move to end. Mention "show version"
is similar to "-gdb-version".
*** gdb.texinfo 02 Jun 2006 21:45:30 +1200 1.335
--- gdb.texinfo 04 Jun 2006 11:04:35 +1200
*************** may repeat one or more times.
*** 17247,17268 ****
@heading Dependencies
@end ignore
- @heading Acknowledgments
-
- In alphabetic order: Andrew Cagney, Fernando Nasser, Stan Shebs and
- Elena Zannoni.
-
@menu
* GDB/MI Command Syntax::
* GDB/MI Compatibility with CLI::
* GDB/MI Development and Front Ends::
* GDB/MI Output Records::
* GDB/MI Command Description Format::
! * GDB/MI Breakpoint Table Commands::
* GDB/MI Data Manipulation::
* GDB/MI Program Control::
* GDB/MI File Commands::
- * GDB/MI Miscellaneous Commands::
@ignore
* GDB/MI Kod Commands::
* GDB/MI Memory Overlay Commands::
--- 17247,17263 ----
@heading Dependencies
@end ignore
@menu
* GDB/MI Command Syntax::
* GDB/MI Compatibility with CLI::
* GDB/MI Development and Front Ends::
* GDB/MI Output Records::
+ * GDB/MI Simple Examples::
* GDB/MI Command Description Format::
! * GDB/MI Breakpoint Commands::
* GDB/MI Data Manipulation::
* GDB/MI Program Control::
* GDB/MI File Commands::
@ignore
* GDB/MI Kod Commands::
* GDB/MI Memory Overlay Commands::
*************** Elena Zannoni.
*** 17274,17279 ****
--- 17269,17275 ----
* GDB/MI Thread Commands::
* GDB/MI Tracepoint Commands::
* GDB/MI Variable Objects::
+ * GDB/MI Miscellaneous Commands::
@end menu
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*************** Elena Zannoni.
*** 17283,17289 ****
@menu
* GDB/MI Input Syntax::
* GDB/MI Output Syntax::
- * GDB/MI Simple Examples::
@end menu
@node GDB/MI Input Syntax
--- 17279,17284 ----
*************** New @sc{gdb/mi} commands should only out
*** 17499,17577 ****
@xref{GDB/MI Stream Records, , @sc{gdb/mi} Stream Records}, for more
details about the various output records.
- @node GDB/MI Simple Examples
- @subsection Simple Examples of @sc{gdb/mi} Interaction
- @cindex @sc{gdb/mi}, simple examples
-
- This subsection presents several simple examples of interaction using
- the @sc{gdb/mi} interface. In these examples, @samp{->} means that the
- following line is passed to @sc{gdb/mi} as input, while @samp{<-} means
- the output received from @sc{gdb/mi}.
-
- @subsubheading Target Stop
- @c Ummm... There is no "-stop" command. This assumes async, no?
- Here's an example of stopping the inferior process:
-
- @smallexample
- -> -stop
- <- (@value{GDBP})
- @end smallexample
-
- @noindent
- and later:
-
- @smallexample
- <- *stop,reason="stop",address="0x123",source="a.c:123"
- <- (@value{GDBP})
- @end smallexample
-
- @subsubheading Simple CLI Command
-
- Here's an example of a simple CLI command being passed through
- @sc{gdb/mi} and on to the CLI.
-
- @smallexample
- -> print 1+2
- <- &"print 1+2\n"
- <- ~"$1 = 3\n"
- <- ^done
- <- (@value{GDBP})
- @end smallexample
-
- @subsubheading Command With Side Effects
-
- @smallexample
- -> -symbol-file xyz.exe
- <- *breakpoint,nr="3",address="0x123",source="a.c:123"
- <- (@value{GDBP})
- @end smallexample
-
- @subsubheading A Bad Command
-
- Here's what happens if you pass a non-existent command:
-
- @smallexample
- -> -rubbish
- <- ^error,msg="Undefined MI command: rubbish"
- <- (@value{GDBP})
- @end smallexample
-
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Compatibility with CLI
@section @sc{gdb/mi} Compatibility with CLI
@cindex compatibility, @sc{gdb/mi} and CLI
@cindex @sc{gdb/mi}, compatibility with CLI
! To help users familiar with @value{GDBN}'s existing CLI interface, @sc{gdb/mi}
! accepts existing CLI commands. As specified by the syntax, such
! commands can be directly entered into the @sc{gdb/mi} interface and @value{GDBN} will
! respond.
!
! This mechanism is provided as an aid to developers of @sc{gdb/mi}
! clients and not as a reliable interface into the CLI. Since the command
! is being interpreteted in an environment that assumes @sc{gdb/mi}
! behaviour, the exact output of such commands is likely to end up being
! an un-supported hybrid of @sc{gdb/mi} and CLI output.
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Development and Front Ends
--- 17494,17515 ----
@xref{GDB/MI Stream Records, , @sc{gdb/mi} Stream Records}, for more
details about the various output records.
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Compatibility with CLI
@section @sc{gdb/mi} Compatibility with CLI
@cindex compatibility, @sc{gdb/mi} and CLI
@cindex @sc{gdb/mi}, compatibility with CLI
!
! For the developers convenience CLI commands can be entered directly.
! However, CLI commands that use sequences of commands such @code{source},
! @code{commands} will not work and commands that result in queries such
! as pending breakpoints and quitting once execution has started will
! default to yes.
!
! This feature may be removed at some stage in the future and it is
! recommended that front ends use the @code{-interpreter exec} command.
! @xref{GDB/MI Miscellaneous Commands}.
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Development and Front Ends
*************** values.
*** 17655,17664 ****
--- 17593,17611 ----
The asynchronous operation was successfully started. The target is
running.
+ @item "^connected"
+ @findex ^connected
+ GDB has connected to a remote target.
+
@item "^error" "," @var{c-string}
@findex ^error
The operation failed. The @code{@var{c-string}} contains the corresponding
error message.
+
+ @item "^exit"
+ @findex ^exit
+ GDB has terminated.
+
@end table
@node GDB/MI Stream Records
*************** CLI console window. It contains the tex
*** 17683,17689 ****
@item "@@" @var{string-output}
The target output stream contains any textual output from the running
! target.
@item "&" @var{string-output}
The log stream contains debugging messages being produced by @value{GDBN}'s
--- 17630,17637 ----
@item "@@" @var{string-output}
The target output stream contains any textual output from the running
! target. This is only present when GDB's event loop is truely
! asynchronous which is currently only the case for remote targets.
@item "&" @var{string-output}
The log stream contains debugging messages being produced by @value{GDBN}'s
*************** A signal was received by the inferior.
*** 17739,17755 ****
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Command Description Format
@section @sc{gdb/mi} Command Description Format
The remaining sections describe blocks of commands. Each block of
commands is laid out in a fashion similar to this section.
- Note the the line breaks shown in the examples are here only for
- readability. They don't appear in the real output.
- Also note that the commands with a non-available example (N.A.@:) are
- not yet implemented.
-
@subheading Motivation
The motivation for this collection of commands.
--- 17687,17766 ----
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ @node GDB/MI Simple Examples
+ @section Simple Examples of @sc{gdb/mi} Interaction
+ @cindex @sc{gdb/mi}, simple examples
+
+ This subsection presents several simple examples of interaction using
+ the @sc{gdb/mi} interface. In these examples, @samp{->} means that the
+ following line is passed to @sc{gdb/mi} as input, while @samp{<-} means
+ the output received from @sc{gdb/mi}.
+
+ Note the the line breaks shown in the examples are here only for
+ readability, they don't appear in the real output.
+
+ @subheading Setting a breakpoint
+
+ Setting a breakpoint generates synchronous output which contains detailed
+ information of the breakpoint.
+
+ @smallexample
+ -> -break-insert main
+ <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
+ enabled="y",addr="0x08048564",func="main",file="myprog.c",
+ fullname="/home/nickrob/myprog.c",line="68",times="0"@}
+ <- (gdb)
+ @end smallexample
+
+ @subheading Program Execution
+
+ Program execution generates asynchronous records and MI gives the
+ reason that execution stopped.
+
+ @smallexample
+ -> -exec-run
+ <- ^running
+ <- (gdb)
+ <- *stopped,reason="breakpoint-hit",bkptno="1",thread-id="0",
+ frame=@{addr="0x08048564",func="main",
+ args=[@{name="argc",value="1"@},@{name="argv",value="0xbfc4d4d4"@}],
+ file="myprog.c",fullname="/home/nickrob/myprog.c",line="68"@}
+ <- (gdb)
+ -> -exec-continue
+ <- ^running
+ <- (gdb)
+ <- *stopped,reason="exited-normally"
+ <- (gdb)
+ @end smallexample
+
+ @subheading Quitting GDB
+
+ Quitting GDB just prints the result class @samp{^exit}.
+
+ @smallexample
+ -> (gdb)
+ <- -gdb-exit
+ <- ^exit
+ @end smallexample
+
+ @subsubheading A Bad Command
+
+ Here's what happens if you pass a non-existent command:
+
+ @smallexample
+ -> -rubbish
+ <- ^error,msg="Undefined MI command: rubbish"
+ <- (@value{GDBP})
+ @end smallexample
+
+
+ @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@node GDB/MI Command Description Format
@section @sc{gdb/mi} Command Description Format
The remaining sections describe blocks of commands. Each block of
commands is laid out in a fashion similar to this section.
@subheading Motivation
The motivation for this collection of commands.
*************** The corresponding @value{GDBN} CLI comma
*** 17776,17784 ****
@subsubheading Example
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Breakpoint Table Commands
! @section @sc{gdb/mi} Breakpoint table commands
@cindex breakpoint commands for @sc{gdb/mi}
@cindex @sc{gdb/mi}, breakpoint commands
--- 17787,17799 ----
@subsubheading Example
+ Example(s) formatted for readability. Some of the described commands have
+ not been implemented yet and these are labelled N.A.@: (not available).
+
+
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Breakpoint Commands
! @section @sc{gdb/mi} Breakpoint Commands
@cindex breakpoint commands for @sc{gdb/mi}
@cindex @sc{gdb/mi}, breakpoint commands
*************** The result is in the form:
*** 18052,18058 ****
@smallexample
^done,bkpt=@{number="@var{number}",type="@var{type}",disp="del"|"keep",
enabled="y"|"n",addr="@var{hex}",func="@var{funcname}",file="@var{filename}",
! fullname="@var{full_filename}",line="@var{lineno}",times="@var{times}"@}
@end smallexample
@noindent
--- 18067,18074 ----
@smallexample
^done,bkpt=@{number="@var{number}",type="@var{type}",disp="del"|"keep",
enabled="y"|"n",addr="@var{hex}",func="@var{funcname}",file="@var{filename}",
! fullname="@var{full_filename}",line="@var{lineno}",[thread="@var{threadno},]
! times="@var{times}"@}
@end smallexample
@noindent
*************** The corresponding @value{GDBN} command i
*** 19038,19086 ****
@node GDB/MI Program Control
@section @sc{gdb/mi} Program control
! @subsubheading Program termination
!
! As a result of execution, the inferior program can run to completion, if
! it doesn't encounter any breakpoints. In this case the output will
! include an exit code, if the program has exited exceptionally.
!
! @subsubheading Examples
!
! @noindent
! Program exited normally:
!
! @smallexample
! (@value{GDBP})
! -exec-run
! ^running
! (@value{GDBP})
! x = 55
! *stopped,reason="exited-normally"
! (@value{GDBP})
! @end smallexample
!
! @noindent
! Program exited exceptionally:
!
! @smallexample
! (@value{GDBP})
! -exec-run
! ^running
! (@value{GDBP})
! x = 55
! *stopped,reason="exited",exit-code="01"
! (@value{GDBP})
! @end smallexample
!
! Another way the program can terminate is if it receives a signal such as
! @code{SIGINT}. In this case, @sc{gdb/mi} displays this:
!
! @smallexample
! (@value{GDBP})
! *stopped,reason="exited-signalled",signal-name="SIGINT",
! signal-meaning="Interrupt"
! @end smallexample
!
@subheading The @code{-exec-abort} Command
@findex -exec-abort
--- 19054,19063 ----
@node GDB/MI Program Control
@section @sc{gdb/mi} Program control
! These are the asynchronous commands which generate the out-of-band
! record @samp{*stopped}. Currently GDB only really executes
! asynchronously with remote targets and this interaction is mimicked in
! other cases.
@subheading The @code{-exec-abort} Command
@findex -exec-abort
*************** Don't have one around.
*** 19132,19139 ****
-exec-continue
@end smallexample
! Asynchronous command. Resumes the execution of the inferior program
! until a breakpoint is encountered, or until the inferior exits.
@subsubheading @value{GDBN} Command
--- 19109,19116 ----
-exec-continue
@end smallexample
! Resumes the execution of the inferior program until a breakpoint is
! encountered, or until the inferior exits.
@subsubheading @value{GDBN} Command
*************** file="hello.c",fullname="/home/foo/bar/h
*** 19161,19169 ****
-exec-finish
@end smallexample
! Asynchronous command. Resumes the execution of the inferior program
! until the current function is exited. Displays the results returned by
! the function.
@subsubheading @value{GDBN} Command
--- 19138,19145 ----
-exec-finish
@end smallexample
! Resumes the execution of the inferior program until the current
! function is exited. Displays the results returned by the function.
@subsubheading @value{GDBN} Command
*************** gdb-result-var="$1",return-value="0"
*** 19208,19217 ****
-exec-interrupt
@end smallexample
! Asynchronous command. Interrupts the background execution of the target.
! Note how the token associated with the stop message is the one for the
! execution command that has been interrupted. The token for the interrupt
! itself only appears in the @samp{^done} output. If the user is trying to
interrupt a non-running program, an error message will be printed.
@subsubheading @value{GDBN} Command
--- 19184,19193 ----
-exec-interrupt
@end smallexample
! Interrupts the background execution of the target. Note how the token
! associated with the stop message is the one for the execution command
! that has been interrupted. The token for the interrupt itself only
! appears in the @samp{^done} output. If the user is trying to
interrupt a non-running program, an error message will be printed.
@subsubheading @value{GDBN} Command
*************** fullname="/home/foo/bar/try.c",line="13"
*** 19250,19257 ****
-exec-next
@end smallexample
! Asynchronous command. Resumes execution of the inferior program, stopping
! when the beginning of the next source line is reached.
@subsubheading @value{GDBN} Command
--- 19226,19233 ----
-exec-next
@end smallexample
! Resumes execution of the inferior program, stopping when the beginning
! of the next source line is reached.
@subsubheading @value{GDBN} Command
*************** The corresponding @value{GDBN} command i
*** 19277,19286 ****
-exec-next-instruction
@end smallexample
! Asynchronous command. Executes one machine instruction. If the
! instruction is a function call continues until the function returns. If
! the program stops at an instruction in the middle of a source line, the
! address will be printed as well.
@subsubheading @value{GDBN} Command
--- 19253,19262 ----
-exec-next-instruction
@end smallexample
! Executes one machine instruction. If the instruction is a function
! call continues until the function returns. If the program stops at an
! instruction in the middle of a source line, the address will be
! printed as well.
@subsubheading @value{GDBN} Command
*************** fullname="/home/foo/bar/devo/gdb/testsui
*** 19354,19368 ****
-exec-run
@end smallexample
! Asynchronous command. Starts execution of the inferior from the
! beginning. The inferior executes until either a breakpoint is
! encountered or the program exits.
@subsubheading @value{GDBN} Command
The corresponding @value{GDBN} command is @samp{run}.
! @subsubheading Example
@smallexample
(@value{GDBP})
--- 19330,19345 ----
-exec-run
@end smallexample
! Starts execution of the inferior from the beginning. The inferior
! executes until either a breakpoint is encountered or the program
! exits. In the latter case the output will include an exit code, if
! the program has exited exceptionally.
@subsubheading @value{GDBN} Command
The corresponding @value{GDBN} command is @samp{run}.
! @subsubheading Examples
@smallexample
(@value{GDBP})
*************** fullname="/home/foo/bar/recursive2.c",li
*** 19378,19383 ****
--- 19355,19395 ----
(@value{GDBP})
@end smallexample
+ @noindent
+ Program exited normally:
+
+ @smallexample
+ (@value{GDBP})
+ -exec-run
+ ^running
+ (@value{GDBP})
+ x = 55
+ *stopped,reason="exited-normally"
+ (@value{GDBP})
+ @end smallexample
+
+ @noindent
+ Program exited exceptionally:
+
+ @smallexample
+ (@value{GDBP})
+ -exec-run
+ ^running
+ (@value{GDBP})
+ x = 55
+ *stopped,reason="exited",exit-code="01"
+ (@value{GDBP})
+ @end smallexample
+
+ Another way the program can terminate is if it receives a signal such as
+ @code{SIGINT}. In this case, @sc{gdb/mi} displays this:
+
+ @smallexample
+ (@value{GDBP})
+ *stopped,reason="exited-signalled",signal-name="SIGINT",
+ signal-meaning="Interrupt"
+ @end smallexample
+
@subheading The @code{-exec-show-arguments} Command
@findex -exec-show-arguments
*************** N.A.
*** 19408,19417 ****
-exec-step
@end smallexample
! Asynchronous command. Resumes execution of the inferior program, stopping
! when the beginning of the next source line is reached, if the next
! source line is not a function call. If it is, stop at the first
! instruction of the called function.
@subsubheading @value{GDBN} Command
--- 19420,19429 ----
-exec-step
@end smallexample
! Resumes execution of the inferior program, stopping when the beginning
! of the next source line is reached, if the next source line is not a
! function call. If it is, stop at the first instruction of the called
! function.
@subsubheading @value{GDBN} Command
*************** Regular stepping:
*** 19452,19461 ****
-exec-step-instruction
@end smallexample
! Asynchronous command. Resumes the inferior which executes one machine
! instruction. The output, once @value{GDBN} has stopped, will vary depending on
! whether we have stopped in the middle of a source line or not. In the
! former case, the address at which the program stopped will be printed as
well.
@subsubheading @value{GDBN} Command
--- 19464,19473 ----
-exec-step-instruction
@end smallexample
! Resumes the inferior which executes one machine instruction. The
! output, once @value{GDBN} has stopped, will vary depending on whether
! we have stopped in the middle of a source line or not. In the former
! case, the address at which the program stopped will be printed as
well.
@subsubheading @value{GDBN} Command
*************** fullname="/home/foo/bar/try.c",line="10"
*** 19494,19503 ****
-exec-until [ @var{location} ]
@end smallexample
! Asynchronous command. Executes the inferior until the @var{location}
! specified in the argument is reached. If there is no argument, the inferior
! executes until a source line greater than the current one is reached.
! The reason for stopping in this case will be @samp{location-reached}.
@subsubheading @value{GDBN} Command
--- 19506,19515 ----
-exec-until [ @var{location} ]
@end smallexample
! Executes the inferior until the @var{location} specified in the
! argument is reached. If there is no argument, the inferior executes
! until a source line greater than the current one is reached. The
! reason for stopping in this case will be @samp{location-reached}.
@subsubheading @value{GDBN} Command
*************** to the current source file for the curre
*** 19622,19628 ****
@subsubheading @value{GDBN} Command
! There's no @value{GDBN} command which directly corresponds to this one.
@subsubheading Example
--- 19634,19640 ----
@subsubheading @value{GDBN} Command
! The @value{GDBN} equivalent is @samp{info source}
@subsubheading Example
*************** file name of a source file, will it outp
*** 19650,19656 ****
@subsubheading @value{GDBN} Command
! There's no @value{GDBN} command which directly corresponds to this one.
@code{gdbtk} has an analogous command @samp{gdb_listfiles}.
@subsubheading Example
--- 19662,19668 ----
@subsubheading @value{GDBN} Command
! The @value{GDBN} equivalent is @samp{info sources}.
@code{gdbtk} has an analogous command @samp{gdb_listfiles}.
@subsubheading Example
*************** The corresponding @value{GDBN} command i
*** 19728,20012 ****
(@value{GDBP})
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Miscellaneous Commands
! @section Miscellaneous @value{GDBN} commands in @sc{gdb/mi}
! @c @subheading -gdb-complete
! @subheading The @code{-gdb-exit} Command
! @findex -gdb-exit
! @subsubheading Synopsis
! @smallexample
! -gdb-exit
! @end smallexample
! Exit @value{GDBN} immediately.
! @subsubheading @value{GDBN} Command
! Approximately corresponds to @samp{quit}.
! @subsubheading Example
! @smallexample
! (@value{GDBP})
! -gdb-exit
! @end smallexample
! @subheading The @code{-gdb-set} Command
! @findex -gdb-set
! @subsubheading Synopsis
! @smallexample
! -gdb-set
! @end smallexample
! Set an internal @value{GDBN} variable.
! @c IS THIS A DOLLAR VARIABLE? OR SOMETHING LIKE ANNOTATE ?????
! @subsubheading @value{GDBN} Command
! The corresponding @value{GDBN} command is @samp{set}.
! @subsubheading Example
! @smallexample
! (@value{GDBP})
! -gdb-set $foo=3
! ^done
! (@value{GDBP})
! @end smallexample
! @subheading The @code{-gdb-show} Command
! @findex -gdb-show
@subsubheading Synopsis
@smallexample
! -gdb-show
@end smallexample
! Show the current value of a @value{GDBN} variable.
! @subsubheading @value{GDBN} command
! The corresponding @value{GDBN} command is @samp{show}.
@subsubheading Example
@smallexample
(@value{GDBP})
! -gdb-show annotate
! ^done,value="0"
(@value{GDBP})
@end smallexample
! @c @subheading -gdb-source
!
!
! @subheading The @code{-gdb-version} Command
! @findex -gdb-version
!
! @subsubheading Synopsis
!
! @smallexample
! -gdb-version
! @end smallexample
!
! Show version information for @value{GDBN}. Used mostly in testing.
!
! @subsubheading @value{GDBN} Command
!
! There's no equivalent @value{GDBN} command. @value{GDBN} by default shows this
! information when you start an interactive session.
!
! @subsubheading Example
!
! @c This example modifies the actual output from GDB to avoid overfull
! @c box in TeX.
! @smallexample
! (@value{GDBP})
! -gdb-version
! ~GNU gdb 5.2.1
! ~Copyright 2000 Free Software Foundation, Inc.
! ~GDB is free software, covered by the GNU General Public License, and
! ~you are welcome to change it and/or distribute copies of it under
! ~ certain conditions.
! ~Type "show copying" to see the conditions.
! ~There is absolutely no warranty for GDB. Type "show warranty" for
! ~ details.
! ~This GDB was configured as
! "--host=sparc-sun-solaris2.5.1 --target=ppc-eabi".
! ^done
! (@value{GDBP})
! @end smallexample
!
! @subheading The @code{-interpreter-exec} Command
! @findex -interpreter-exec
!
! @subheading Synopsis
!
! @smallexample
! -interpreter-exec @var{interpreter} @var{command}
! @end smallexample
!
! Execute the specified @var{command} in the given @var{interpreter}.
!
! @subheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{interpreter-exec}.
!
! @subheading Example
!
! @smallexample
! (@value{GDBP})
! -interpreter-exec console "break main"
! &"During symbol reading, couldn't parse type; debugger out of date?.\n"
! &"During symbol reading, bad structure-type format.\n"
! ~"Breakpoint 1 at 0x8074fc6: file ../../src/gdb/main.c, line 743.\n"
! ^done
! (@value{GDBP})
! @end smallexample
!
! @subheading The @code{-inferior-tty-set} Command
! @findex -inferior-tty-set
!
! @subheading Synopsis
!
! @smallexample
! -inferior-tty-set /dev/pts/1
! @end smallexample
!
! Set terminal for future runs of the program being debugged.
!
! @subheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{set inferior-tty /dev/pts/1}.
!
! @subheading Example
!
! @smallexample
! (@value{GDBP})
! -inferior-tty-set /dev/pts/1
! ^done
! (@value{GDBP})
! @end smallexample
!
! @subheading The @code{-inferior-tty-show} Command
! @findex -inferior-tty-show
!
! @subheading Synopsis
!
! @smallexample
! -inferior-tty-show
! @end smallexample
!
! Show terminal for future runs of program being debugged.
!
! @subheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{show inferior-tty}.
!
! @subheading Example
!
! @smallexample
! (@value{GDBP})
! -inferior-tty-set /dev/pts/1
! ^done
! (@value{GDBP})
! -inferior-tty-show
! ^done,inferior_tty_terminal="/dev/pts/1"
! (@value{GDBP})
! @end smallexample
!
! @ignore
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Kod Commands
! @section @sc{gdb/mi} Kod Commands
!
! The Kod commands are not implemented.
!
! @c @subheading -kod-info
!
! @c @subheading -kod-list
!
! @c @subheading -kod-list-object-types
!
! @c @subheading -kod-show
!
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Memory Overlay Commands
! @section @sc{gdb/mi} Memory Overlay Commands
!
! The memory overlay commands are not implemented.
!
! @c @subheading -overlay-auto
!
! @c @subheading -overlay-list-mapping-state
!
! @c @subheading -overlay-list-overlays
!
! @c @subheading -overlay-map
!
! @c @subheading -overlay-off
!
! @c @subheading -overlay-on
!
! @c @subheading -overlay-unmap
!
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Signal Handling Commands
! @section @sc{gdb/mi} Signal Handling Commands
!
! Signal handling commands are not implemented.
!
! @c @subheading -signal-handle
!
! @c @subheading -signal-list-handle-actions
!
! @c @subheading -signal-list-signal-types
! @end ignore
!
!
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Stack Manipulation
! @section @sc{gdb/mi} Stack Manipulation Commands
!
!
! @subheading The @code{-stack-info-frame} Command
! @findex -stack-info-frame
!
! @subsubheading Synopsis
!
! @smallexample
! -stack-info-frame
! @end smallexample
!
! Get info on the selected frame.
!
! @subsubheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{info frame} or @samp{frame}
! (without arguments).
!
! @subsubheading Example
!
! @smallexample
! (@value{GDBP})
! -stack-info-frame
! ^done,frame=@{level="1",addr="0x0001076c",func="callee3",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"@}
! (@value{GDBP})
! @end smallexample
!
! @subheading The @code{-stack-info-depth} Command
! @findex -stack-info-depth
@subsubheading Synopsis
--- 19740,19828 ----
(@value{GDBP})
@end smallexample
+ @ignore
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Kod Commands
! @section @sc{gdb/mi} Kod Commands
! The Kod commands are not implemented.
! @c @subheading -kod-info
! @c @subheading -kod-list
! @c @subheading -kod-list-object-types
! @c @subheading -kod-show
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Memory Overlay Commands
! @section @sc{gdb/mi} Memory Overlay Commands
! The memory overlay commands are not implemented.
! @c @subheading -overlay-auto
! @c @subheading -overlay-list-mapping-state
! @c @subheading -overlay-list-overlays
! @c @subheading -overlay-map
! @c @subheading -overlay-off
! @c @subheading -overlay-on
! @c @subheading -overlay-unmap
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Signal Handling Commands
! @section @sc{gdb/mi} Signal Handling Commands
! Signal handling commands are not implemented.
! @c @subheading -signal-handle
+ @c @subheading -signal-list-handle-actions
! @c @subheading -signal-list-signal-types
! @end ignore
!
!
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Stack Manipulation
! @section @sc{gdb/mi} Stack Manipulation Commands
!
!
! @subheading The @code{-stack-info-frame} Command
! @findex -stack-info-frame
@subsubheading Synopsis
@smallexample
! -stack-info-frame
@end smallexample
! Get info on the selected frame.
! @subsubheading @value{GDBN} Command
! The corresponding @value{GDBN} command is @samp{info frame} or @samp{frame}
! (without arguments).
@subsubheading Example
@smallexample
(@value{GDBP})
! -stack-info-frame
! ^done,frame=@{level="1",addr="0x0001076c",func="callee3",
! file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
! fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"@}
(@value{GDBP})
@end smallexample
! @subheading The @code{-stack-info-depth} Command
! @findex -stack-info-depth
@subsubheading Synopsis
*************** N.A.
*** 20568,20574 ****
-target-detach
@end smallexample
! Disconnect from the remote target. There's no output.
@subsubheading @value{GDBN} command
--- 20384,20391 ----
-target-detach
@end smallexample
! Detach from the remote target which normally resumes its execution.
! There's no output.
@subsubheading @value{GDBN} command
*************** The corresponding @value{GDBN} command i
*** 20593,20599 ****
-target-disconnect
@end example
! Disconnect from the remote target. There's no output.
@subsubheading @value{GDBN} command
--- 20410,20417 ----
-target-disconnect
@end example
! Disconnect from the remote target. There's no output and the target is
! generally not resumed.
@subsubheading @value{GDBN} command
*************** type_changed="false"@}]
*** 21360,21365 ****
--- 21178,21380 ----
(@value{GDBP})
@end smallexample
+ @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ @node GDB/MI Miscellaneous Commands
+ @section Miscellaneous @sc{gdb/mi} Commands
+
+ @c @subheading -gdb-complete
+
+ @subheading The @code{-gdb-exit} Command
+ @findex -gdb-exit
+
+ @subsubheading Synopsis
+
+ @smallexample
+ -gdb-exit
+ @end smallexample
+
+ Exit @value{GDBN} immediately.
+
+ @subsubheading @value{GDBN} Command
+
+ Approximately corresponds to @samp{quit}.
+
+ @subsubheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -gdb-exit
+ ^exit
+ @end smallexample
+
+ @subheading The @code{-gdb-set} Command
+ @findex -gdb-set
+
+ @subsubheading Synopsis
+
+ @smallexample
+ -gdb-set
+ @end smallexample
+
+ Set an internal @value{GDBN} variable.
+ @c IS THIS A DOLLAR VARIABLE? OR SOMETHING LIKE ANNOTATE ?????
+
+ @subsubheading @value{GDBN} Command
+
+ The corresponding @value{GDBN} command is @samp{set}.
+
+ @subsubheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -gdb-set $foo=3
+ ^done
+ (@value{GDBP})
+ @end smallexample
+
+
+ @subheading The @code{-gdb-show} Command
+ @findex -gdb-show
+
+ @subsubheading Synopsis
+
+ @smallexample
+ -gdb-show
+ @end smallexample
+
+ Show the current value of a @value{GDBN} variable.
+
+ @subsubheading @value{GDBN} command
+
+ The corresponding @value{GDBN} command is @samp{show}.
+
+ @subsubheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -gdb-show annotate
+ ^done,value="0"
+ (@value{GDBP})
+ @end smallexample
+
+ @c @subheading -gdb-source
+
+
+ @subheading The @code{-gdb-version} Command
+ @findex -gdb-version
+
+ @subsubheading Synopsis
+
+ @smallexample
+ -gdb-version
+ @end smallexample
+
+ Show version information for @value{GDBN}. Used mostly in testing.
+
+ @subsubheading @value{GDBN} Command
+
+ The @value{GDBN} equivalent is @samp{show version}. @value{GDBN} by
+ default shows this information when you start an interactive session.
+
+ @subsubheading Example
+
+ @c This example modifies the actual output from GDB to avoid overfull
+ @c box in TeX.
+ @smallexample
+ (@value{GDBP})
+ -gdb-version
+ ~GNU gdb 5.2.1
+ ~Copyright 2000 Free Software Foundation, Inc.
+ ~GDB is free software, covered by the GNU General Public License, and
+ ~you are welcome to change it and/or distribute copies of it under
+ ~ certain conditions.
+ ~Type "show copying" to see the conditions.
+ ~There is absolutely no warranty for GDB. Type "show warranty" for
+ ~ details.
+ ~This GDB was configured as
+ "--host=sparc-sun-solaris2.5.1 --target=ppc-eabi".
+ ^done
+ (@value{GDBP})
+ @end smallexample
+
+ @subheading The @code{-interpreter-exec} Command
+ @findex -interpreter-exec
+
+ @subheading Synopsis
+
+ @smallexample
+ -interpreter-exec @var{interpreter} @var{command}
+ @end smallexample
+
+ Execute the specified @var{command} in the given @var{interpreter}.
+
+ @subheading @value{GDBN} Command
+
+ The corresponding @value{GDBN} command is @samp{interpreter-exec}.
+
+ @subheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -interpreter-exec console "break main"
+ &"During symbol reading, couldn't parse type; debugger out of date?.\n"
+ &"During symbol reading, bad structure-type format.\n"
+ ~"Breakpoint 1 at 0x8074fc6: file ../../src/gdb/main.c, line 743.\n"
+ ^done
+ (@value{GDBP})
+ @end smallexample
+
+ @subheading The @code{-inferior-tty-set} Command
+ @findex -inferior-tty-set
+
+ @subheading Synopsis
+
+ @smallexample
+ -inferior-tty-set /dev/pts/1
+ @end smallexample
+
+ Set terminal for future runs of the program being debugged.
+
+ @subheading @value{GDBN} Command
+
+ The corresponding @value{GDBN} command is @samp{set inferior-tty /dev/pts/1}.
+
+ @subheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -inferior-tty-set /dev/pts/1
+ ^done
+ (@value{GDBP})
+ @end smallexample
+
+ @subheading The @code{-inferior-tty-show} Command
+ @findex -inferior-tty-show
+
+ @subheading Synopsis
+
+ @smallexample
+ -inferior-tty-show
+ @end smallexample
+
+ Show terminal for future runs of program being debugged.
+
+ @subheading @value{GDBN} Command
+
+ The corresponding @value{GDBN} command is @samp{show inferior-tty}.
+
+ @subheading Example
+
+ @smallexample
+ (@value{GDBP})
+ -inferior-tty-set /dev/pts/1
+ ^done
+ (@value{GDBP})
+ -inferior-tty-show
+ ^done,inferior_tty_terminal="/dev/pts/1"
+ (@value{GDBP})
+ @end smallexample
+
@node Annotations
@chapter @value{GDBN} Annotations
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-03 23:57 ` Nick Roberts
@ 2006-06-04 19:32 ` Eli Zaretskii
2006-06-09 19:07 ` Eli Zaretskii
1 sibling, 0 replies; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-04 19:32 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sun, 4 Jun 2006 11:56:15 +1200
> Cc: gdb-patches@sources.redhat.com
>
> Here's a patch. I've moved two nodes which I realise makes proofreading
> harder so here are a few notes:
>
> * The "Simple examples" node is thoroughly changed as the original examples
> didn't work.
>
> * The "Miscellaneous Commands" node has only one change (to -gdb-version).
>
> * I've removed the acknowledgements but this is not controversial as they
> have already been added to the "Contributors" node (where they belong).
>
> * I've said that asynchronous operation works for remote targets. I've
> not experienced that myself but this must be more accurate that implying
> it works everywhere.
Thanks, I will look into this in a few days.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-03 23:57 ` Nick Roberts
2006-06-04 19:32 ` Eli Zaretskii
@ 2006-06-09 19:07 ` Eli Zaretskii
2006-06-09 19:12 ` Daniel Jacobowitz
2006-06-09 23:27 ` Nick Roberts
1 sibling, 2 replies; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-09 19:07 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sun, 4 Jun 2006 11:56:15 +1200
> Cc: gdb-patches@sources.redhat.com
>
> Here's a patch.
Thanks; comments below. You can commit after you take care of them.
> ! For the developers convenience CLI commands can be entered directly.
"entered directly" is not clear. How about this:
For developers' convenience, GDB/MI supports CLI commands even
without @code{-interpreter-exec}.
> ! However, CLI commands that use sequences of commands such @code{source},
> ! @code{commands} will not work
I don't understand from this text what will not work. (Please enclose
input that would be typed by user in @kbd, btw.) Do you mean if I
type "source, commands", it will not work? Or do you mean something
else?
Also, you are missing "as" after "such", I think.
> and commands that result in queries such
> ! as pending breakpoints and quitting once execution has started will
> ! default to yes.
"..commands that query the user will behave as if the user replied yes."
> ! target. This is only present when GDB's event loop
Please use @value{GDBN} instead a literal "GDB".
> is truely asynchronous which is currently only the case for remote targets.
You mean "truly", I think.
Also, there should be a comma after "asynchronous".
> + @smallexample
> + -> -break-insert main
> + <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
> + enabled="y",addr="0x08048564",func="main",file="myprog.c",
> + fullname="/home/nickrob/myprog.c",line="68",times="0"@}
> + <- (gdb)
Please use "(@value{GDBP})" instead of a literal "(gdb)".
> + not been implemented yet and these are labelled N.A.@: (not available).
^^^^^^^^
"labeled"
> ! Executes one machine instruction. If the instruction is a function
> ! call continues until the function returns. If the program stops at an
^
A comma needed here.
> + @subheading @value{GDBN} Command
> +
> + The corresponding @value{GDBN} command is @samp{set inferior-tty /dev/pts/1}.
I think you should have only "set inferior-tty" in the @samp, the
argument is just an example of the command's usage, and thus doesn't
belong here.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:07 ` Eli Zaretskii
@ 2006-06-09 19:12 ` Daniel Jacobowitz
2006-06-09 19:52 ` Eli Zaretskii
2006-06-09 23:27 ` Nick Roberts
1 sibling, 1 reply; 32+ messages in thread
From: Daniel Jacobowitz @ 2006-06-09 19:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Nick Roberts, gdb-patches
On Fri, Jun 09, 2006 at 10:06:34PM +0300, Eli Zaretskii wrote:
> > + @smallexample
> > + -> -break-insert main
> > + <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
> > + enabled="y",addr="0x08048564",func="main",file="myprog.c",
> > + fullname="/home/nickrob/myprog.c",line="68",times="0"@}
> > + <- (gdb)
>
> Please use "(@value{GDBP})" instead of a literal "(gdb)".
In this context, that's incorrect. This is actually a literal
"(gdb)\n", rather than the result of "show prompt"; MI uses a hardcoded
prompt string.
(In retrospect it would have been less confusing if a different prompt
had been selected.)
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:12 ` Daniel Jacobowitz
@ 2006-06-09 19:52 ` Eli Zaretskii
2006-06-09 19:57 ` Daniel Jacobowitz
2006-06-09 19:58 ` [PATCH] MI Doco Bob Rossi
0 siblings, 2 replies; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-09 19:52 UTC (permalink / raw)
To: Nick Roberts, gdb-patches
> Date: Fri, 9 Jun 2006 15:11:34 -0400
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Nick Roberts <nickrob@snap.net.nz>, gdb-patches@sources.redhat.com
>
> On Fri, Jun 09, 2006 at 10:06:34PM +0300, Eli Zaretskii wrote:
> > > + @smallexample
> > > + -> -break-insert main
> > > + <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
> > > + enabled="y",addr="0x08048564",func="main",file="myprog.c",
> > > + fullname="/home/nickrob/myprog.c",line="68",times="0"@}
> > > + <- (gdb)
> >
> > Please use "(@value{GDBP})" instead of a literal "(gdb)".
>
> In this context, that's incorrect. This is actually a literal
> "(gdb)\n", rather than the result of "show prompt"; MI uses a hardcoded
> prompt string.
Are you saying that all the MI examples that use @value{GDBP} are
incorrect?
Also, isn't it a bug in MI that it uses a hardcoded string?
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:52 ` Eli Zaretskii
@ 2006-06-09 19:57 ` Daniel Jacobowitz
2006-06-10 7:32 ` Eli Zaretskii
2006-06-09 19:58 ` [PATCH] MI Doco Bob Rossi
1 sibling, 1 reply; 32+ messages in thread
From: Daniel Jacobowitz @ 2006-06-09 19:57 UTC (permalink / raw)
To: gdb-patches
On Fri, Jun 09, 2006 at 10:51:30PM +0300, Eli Zaretskii wrote:
> > Date: Fri, 9 Jun 2006 15:11:34 -0400
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Nick Roberts <nickrob@snap.net.nz>, gdb-patches@sources.redhat.com
> >
> > On Fri, Jun 09, 2006 at 10:06:34PM +0300, Eli Zaretskii wrote:
> > > > + @smallexample
> > > > + -> -break-insert main
> > > > + <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
> > > > + enabled="y",addr="0x08048564",func="main",file="myprog.c",
> > > > + fullname="/home/nickrob/myprog.c",line="68",times="0"@}
> > > > + <- (gdb)
> > >
> > > Please use "(@value{GDBP})" instead of a literal "(gdb)".
> >
> > In this context, that's incorrect. This is actually a literal
> > "(gdb)\n", rather than the result of "show prompt"; MI uses a hardcoded
> > prompt string.
>
> Are you saying that all the MI examples that use @value{GDBP} are
> incorrect?
Yes, I'm afraid so.
> Also, isn't it a bug in MI that it uses a hardcoded string?
Nope. The prompt is part of the formal grammar; the grammar changing
when the user used "set prompt" would be confusing to front ends. You
can have both the CLI and MI live at once, so you want to change the
CLI's prompt, but leave MI's alone.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:52 ` Eli Zaretskii
2006-06-09 19:57 ` Daniel Jacobowitz
@ 2006-06-09 19:58 ` Bob Rossi
1 sibling, 0 replies; 32+ messages in thread
From: Bob Rossi @ 2006-06-09 19:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Nick Roberts, gdb-patches
On Fri, Jun 09, 2006 at 10:51:30PM +0300, Eli Zaretskii wrote:
> > Date: Fri, 9 Jun 2006 15:11:34 -0400
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Nick Roberts <nickrob@snap.net.nz>, gdb-patches@sources.redhat.com
> >
> > On Fri, Jun 09, 2006 at 10:06:34PM +0300, Eli Zaretskii wrote:
> > > > + @smallexample
> > > > + -> -break-insert main
> > > > + <- ^done,bkpt=@{number="1",type="breakpoint",disp="keep",
> > > > + enabled="y",addr="0x08048564",func="main",file="myprog.c",
> > > > + fullname="/home/nickrob/myprog.c",line="68",times="0"@}
> > > > + <- (gdb)
> > >
> > > Please use "(@value{GDBP})" instead of a literal "(gdb)".
> >
> > In this context, that's incorrect. This is actually a literal
> > "(gdb)\n", rather than the result of "show prompt"; MI uses a hardcoded
> > prompt string.
>
> Are you saying that all the MI examples that use @value{GDBP} are
> incorrect?
>
> Also, isn't it a bug in MI that it uses a hardcoded string?
No, it's as designed.
24.1.2 GDB/MI Output Syntax
output ==>
( out-of-band-record )* [ result-record ] "(gdb)" nl
It allows front ends to simply recognize that GDB is done. It isn't
the same as gdb's prompt.
Bob Rossi
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:07 ` Eli Zaretskii
2006-06-09 19:12 ` Daniel Jacobowitz
@ 2006-06-09 23:27 ` Nick Roberts
2006-06-10 7:51 ` Eli Zaretskii
1 sibling, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-09 23:27 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> Thanks; comments below. You can commit after you take care of them.
OK. Committed, thanks.
> > ! For the developers convenience CLI commands can be entered directly.
>
> "entered directly" is not clear. How about this:
>
> For developers' convenience, GDB/MI supports CLI commands even
> without @code{-interpreter-exec}.
>
> > ! However, CLI commands that use sequences of commands such @code{source},
> > ! @code{commands} will not work
>
> I don't understand from this text what will not work. (Please enclose
> input that would be typed by user in @kbd, btw.) Do you mean if I
> type "source, commands", it will not work? Or do you mean something
> else?
>
> Also, you are missing "as" after "such", I think.
I'm not sure what I meant either. I committed this part, as is, inadvertantly
but I've tried to address it as part of the patch below. Sorry.
> > and commands that result in queries such
> > ! as pending breakpoints and quitting once execution has started will
> > ! default to yes.
>
> "..commands that query the user will behave as if the user replied yes."
>
> > ! target. This is only present when GDB's event loop
>
> Please use @value{GDBN} instead a literal "GDB".
I left this unchanged after reading the ensuing discussion. Maybe the other
examples need to be changed.
...
> > + @subheading @value{GDBN} Command
> > +
> > + The corresponding @value{GDBN} command is @samp{set inferior-tty /dev/pts/1}.
>
> I think you should have only "set inferior-tty" in the @samp, the
> argument is just an example of the command's usage, and thus doesn't
> belong here.
I've changed this as you've asked, but just note that all I did here was move
existing text.
In the patch below, I'm trying to group the commands in a similar (but not
identical) fashion to the CLI commands in the main part of the manual. To
that end, I would like to have the node ordering:
* GDB/MI Breakpoint Commands::
* GDB/MI Program Context::
* GDB/MI Thread Commands::
* GDB/MI Program Execution::
* GDB/MI Stack Manipulation::
* GDB/MI Variable Objects::
* GDB/MI Data Manipulation::
* GDB/MI Tracepoint Commands::
* GDB/MI Symbol Query::
* GDB/MI File Commands::
* GDB/MI Target Manipulation::
* GDB/MI Miscellaneous Commands::
I've not done this in the patch because it would make it totally unreadable,
of course. Is such an ordering acceptable?
--
Nick http://www.inet.net.nz/~nickrob
2006-06-10 Nick Roberts <nickrob@snap.net.nz>
(GDB/MI Simple Examples): Use @subheading for "A Bad Command".
(GDB/MI Compatibility with CLI): Qualify more carefully.
(GDB/MI Data Manipulation): Remove description of unimplemented
display related commands as variable objects perform this function
and are superior: -display-delete, -display-disable,
-display-enable, -display-insert and -display-list. Move
-environment-cd, -environment-directory, -environment-path
and -environment-pwd to "Program Context".
(GDB/MI Program Control): Rename to "Program Execution". Move
-exec-arguments -exec-abort to...
(GDB/MI Program Context): ...here. New node split from "Data
Manipulation".
*** gdb.texinfo 10 Jun 2006 10:32:33 +1200 1.337
--- gdb.texinfo 10 Jun 2006 11:05:44 +1200
*************** may repeat one or more times.
*** 17256,17262 ****
* GDB/MI Command Description Format::
* GDB/MI Breakpoint Commands::
* GDB/MI Data Manipulation::
! * GDB/MI Program Control::
* GDB/MI File Commands::
@ignore
* GDB/MI Kod Commands::
--- 17256,17263 ----
* GDB/MI Command Description Format::
* GDB/MI Breakpoint Commands::
* GDB/MI Data Manipulation::
! * GDB/MI Program Context::
! * GDB/MI Program Execution::
* GDB/MI File Commands::
@ignore
* GDB/MI Kod Commands::
*************** details about the various output records
*** 17501,17511 ****
@cindex compatibility, @sc{gdb/mi} and CLI
@cindex @sc{gdb/mi}, compatibility with CLI
! For the developers convenience CLI commands can be entered directly.
! However, CLI commands that use sequences of commands such @code{source},
! @code{commands} will not work and commands that result in queries such
! as pending breakpoints and quitting once execution has started will
! default to yes.
This feature may be removed at some stage in the future and it is
recommended that front ends use the @code{-interpreter exec} command.
--- 17502,17510 ----
@cindex compatibility, @sc{gdb/mi} and CLI
@cindex @sc{gdb/mi}, compatibility with CLI
! For the developers convenience CLI commands can be entered directly,
! but there may be some unexpected behaviour. For example, commands
! that query the user will behave as if the user replied yes.
This feature may be removed at some stage in the future and it is
recommended that front ends use the @code{-interpreter exec} command.
*************** Quitting GDB just prints the result clas
*** 17743,17749 ****
<- ^exit
@end smallexample
! @subsubheading A Bad Command
Here's what happens if you pass a non-existent command:
--- 17742,17748 ----
<- ^exit
@end smallexample
! @subheading A Bad Command
Here's what happens if you pass a non-existent command:
*************** next-page="0x000013c0",prev-page="0x0000
*** 18809,18907 ****
(@value{GDBP})
@end smallexample
! @subheading The @code{-display-delete} Command
! @findex -display-delete
!
! @subsubheading Synopsis
!
! @smallexample
! -display-delete @var{number}
! @end smallexample
!
! Delete the display @var{number}.
!
! @subsubheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{delete display}.
!
! @subsubheading Example
! N.A.
!
!
! @subheading The @code{-display-disable} Command
! @findex -display-disable
!
! @subsubheading Synopsis
!
! @smallexample
! -display-disable @var{number}
! @end smallexample
!
! Disable display @var{number}.
!
! @subsubheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{disable display}.
!
! @subsubheading Example
! N.A.
!
!
! @subheading The @code{-display-enable} Command
! @findex -display-enable
!
! @subsubheading Synopsis
!
! @smallexample
! -display-enable @var{number}
! @end smallexample
!
! Enable display @var{number}.
!
! @subsubheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{enable display}.
!
! @subsubheading Example
! N.A.
!
- @subheading The @code{-display-insert} Command
- @findex -display-insert
@subsubheading Synopsis
@smallexample
! -display-insert @var{expression}
@end smallexample
! Display @var{expression} every time the program stops.
@subsubheading @value{GDBN} Command
! The corresponding @value{GDBN} command is @samp{display}.
@subsubheading Example
- N.A.
-
-
- @subheading The @code{-display-list} Command
- @findex -display-list
-
- @subsubheading Synopsis
-
- @smallexample
- -display-list
- @end smallexample
! List the displays. Do not show the current values.
!
! @subsubheading @value{GDBN} Command
!
! The corresponding @value{GDBN} command is @samp{info display}.
!
! @subsubheading Example
! N.A.
@subheading The @code{-environment-cd} Command
--- 18808,18837 ----
(@value{GDBP})
@end smallexample
! @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Program Context
! @section @sc{gdb/mi} Program Context
! @subheading The @code{-exec-arguments} Command
! @findex -exec-arguments
@subsubheading Synopsis
@smallexample
! -exec-arguments @var{args}
@end smallexample
! Set the inferior program arguments, to be used in the next
! @samp{-exec-run}.
@subsubheading @value{GDBN} Command
! The corresponding @value{GDBN} command is @samp{set args}.
@subsubheading Example
! @c FIXME!
! Don't have one around.
@subheading The @code{-environment-cd} Command
*************** The corresponding @value{GDBN} command i
*** 19051,19105 ****
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Program Control
! @section @sc{gdb/mi} Program control
These are the asynchronous commands which generate the out-of-band
record @samp{*stopped}. Currently GDB only really executes
asynchronously with remote targets and this interaction is mimicked in
other cases.
- @subheading The @code{-exec-abort} Command
- @findex -exec-abort
-
- @subsubheading Synopsis
-
- @smallexample
- -exec-abort
- @end smallexample
-
- Kill the inferior running program.
-
- @subsubheading @value{GDBN} Command
-
- The corresponding @value{GDBN} command is @samp{kill}.
-
- @subsubheading Example
- N.A.
-
-
- @subheading The @code{-exec-arguments} Command
- @findex -exec-arguments
-
- @subsubheading Synopsis
-
- @smallexample
- -exec-arguments @var{args}
- @end smallexample
-
- Set the inferior program arguments, to be used in the next
- @samp{-exec-run}.
-
- @subsubheading @value{GDBN} Command
-
- The corresponding @value{GDBN} command is @samp{set args}.
-
- @subsubheading Example
-
- @c FIXME!
- Don't have one around.
-
-
@subheading The @code{-exec-continue} Command
@findex -exec-continue
--- 18981,18994 ----
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! @node GDB/MI Program Execution
! @section @sc{gdb/mi} Program Execution
These are the asynchronous commands which generate the out-of-band
record @samp{*stopped}. Currently GDB only really executes
asynchronously with remote targets and this interaction is mimicked in
other cases.
@subheading The @code{-exec-continue} Command
@findex -exec-continue
*************** Approximately corresponds to @samp{quit}
*** 21207,21212 ****
--- 21096,21121 ----
^exit
@end smallexample
+
+ @subheading The @code{-exec-abort} Command
+ @findex -exec-abort
+
+ @subsubheading Synopsis
+
+ @smallexample
+ -exec-abort
+ @end smallexample
+
+ Kill the inferior running program.
+
+ @subsubheading @value{GDBN} Command
+
+ The corresponding @value{GDBN} command is @samp{kill}.
+
+ @subsubheading Example
+ N.A.
+
+
@subheading The @code{-gdb-set} Command
@findex -gdb-set
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 19:57 ` Daniel Jacobowitz
@ 2006-06-10 7:32 ` Eli Zaretskii
2006-07-01 12:35 ` [commit] Fix MI prompt in manual (was: MI Doco) Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-10 7:32 UTC (permalink / raw)
To: gdb-patches
> Date: Fri, 9 Jun 2006 15:57:43 -0400
> From: Daniel Jacobowitz <drow@false.org>
>
> > Are you saying that all the MI examples that use @value{GDBP} are
> > incorrect?
>
> Yes, I'm afraid so.
I guess we will need to fix that ASAP. Thanks.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-09 23:27 ` Nick Roberts
@ 2006-06-10 7:51 ` Eli Zaretskii
2006-06-10 21:40 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-10 7:51 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sat, 10 Jun 2006 11:26:11 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > > ! However, CLI commands that use sequences of commands such @code{source},
> > > ! @code{commands} will not work
> >
> > I don't understand from this text what will not work. (Please enclose
> > input that would be typed by user in @kbd, btw.) Do you mean if I
> > type "source, commands", it will not work? Or do you mean something
> > else?
> >
> > Also, you are missing "as" after "such", I think.
>
> I'm not sure what I meant either. I committed this part, as is, inadvertantly
> but I've tried to address it as part of the patch below. Sorry.
Maybe you meant `commands', `while', etc.--those commands that prompt
for the body which ends with `end'? Then `source' is not part of the
endangered commands.
> > > ! target. This is only present when GDB's event loop
> >
> > Please use @value{GDBN} instead a literal "GDB".
>
> I left this unchanged after reading the ensuing discussion.
The discussion was about "(gdb)" vs "(@value{GDBP})". "GDB" should
still be converted to "@value{GDBN}", as that has nothing to do with
"set prompt".
But I see you did remove literal "GDB".
> just note that all I did here was move existing text.
Yes, I know. Thanks.
> In the patch below, I'm trying to group the commands in a similar (but not
> identical) fashion to the CLI commands in the main part of the manual. To
> that end, I would like to have the node ordering:
>
> * GDB/MI Breakpoint Commands::
> * GDB/MI Program Context::
> * GDB/MI Thread Commands::
> * GDB/MI Program Execution::
> * GDB/MI Stack Manipulation::
> * GDB/MI Variable Objects::
> * GDB/MI Data Manipulation::
> * GDB/MI Tracepoint Commands::
> * GDB/MI Symbol Query::
> * GDB/MI File Commands::
> * GDB/MI Target Manipulation::
> * GDB/MI Miscellaneous Commands::
>
> I've not done this in the patch because it would make it totally unreadable,
> of course. Is such an ordering acceptable?
Yes.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-10 7:51 ` Eli Zaretskii
@ 2006-06-10 21:40 ` Nick Roberts
2006-06-11 3:31 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-10 21:40 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> Maybe you meant `commands', `while', etc.--those commands that prompt
> for the body which ends with `end'? Then `source' is not part of the
> endangered commands.
But they do seem to work in a fashion, although the commands in "commands"
don't seem to actually execute. I think I was confusing this with Bob's
example of breakpoints at overloaded functions. Clearly, some things
don't work, but I don't know how to express exactly what they are.
> > > > ! target. This is only present when GDB's event loop
> > >
> > > Please use @value{GDBN} instead a literal "GDB".
> >
> > I left this unchanged after reading the ensuing discussion.
>
> The discussion was about "(gdb)" vs "(@value{GDBP})". "GDB" should
> still be converted to "@value{GDBN}", as that has nothing to do with
> "set prompt".
>
> But I see you did remove literal "GDB".
Yes, I made a cut and paste error in my reply.
> ...
> > In the patch below, I'm trying to group the commands in a similar (but not
> > identical) fashion to the CLI commands in the main part of the manual. To
> > that end, I would like to have the node ordering:
> >
> > * GDB/MI Breakpoint Commands::
> > * GDB/MI Program Context::
> > * GDB/MI Thread Commands::
> > * GDB/MI Program Execution::
> > * GDB/MI Stack Manipulation::
> > * GDB/MI Variable Objects::
> > * GDB/MI Data Manipulation::
> > * GDB/MI Tracepoint Commands::
> > * GDB/MI Symbol Query::
> > * GDB/MI File Commands::
> > * GDB/MI Target Manipulation::
> > * GDB/MI Miscellaneous Commands::
> >
> > I've not done this in the patch because it would make it totally unreadable,
> > of course. Is such an ordering acceptable?
>
> Yes.
OK, thanks.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-10 21:40 ` Nick Roberts
@ 2006-06-11 3:31 ` Eli Zaretskii
2006-06-11 10:47 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-11 3:31 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sun, 11 Jun 2006 09:39:33 +1200
> Cc: gdb-patches@sources.redhat.com
>
> Clearly, some things don't work, but I don't know how to express
> exactly what they are.
How about showing examples of what doesn't work?
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-11 3:31 ` Eli Zaretskii
@ 2006-06-11 10:47 ` Nick Roberts
2006-06-11 19:27 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-11 10:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > Clearly, some things don't work, but I don't know how to express
> > exactly what they are.
>
> How about showing examples of what doesn't work?
I'm not keen on giving examples which don't work in the manual but I can
expand it a bit (I've now used @anchor for -interpreter-exec):
@cindex compatibility, @sc{gdb/mi} and CLI
@cindex @sc{gdb/mi}, compatibility with CLI
For the developers convenience CLI commands can be entered directly,
but there may be some unexpected behaviour. For example, commands
that query the user will behave as if the user replied yes, breakpoint
command lists are not executed and some CLI commands, such as @code{if},
@code{when} and @code{define}, prompt for further input with @samp{>},
which is not valid MI output.
This feature may be removed at some stage in the future and it is
recommended that front ends use the @code{-interpreter-exec} command
(@pxref{-interpreter-exec}).
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-11 10:47 ` Nick Roberts
@ 2006-06-11 19:27 ` Eli Zaretskii
2006-06-11 21:42 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-11 19:27 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sun, 11 Jun 2006 22:14:57 +1200
> Cc: gdb-patches@sources.redhat.com
>
> @cindex compatibility, @sc{gdb/mi} and CLI
> @cindex @sc{gdb/mi}, compatibility with CLI
>
> For the developers convenience CLI commands can be entered directly,
> but there may be some unexpected behaviour. For example, commands
> that query the user will behave as if the user replied yes, breakpoint
> command lists are not executed and some CLI commands, such as @code{if},
> @code{when} and @code{define}, prompt for further input with @samp{>},
> which is not valid MI output.
>
> This feature may be removed at some stage in the future and it is
> recommended that front ends use the @code{-interpreter-exec} command
> (@pxref{-interpreter-exec}).
This is fine, thanks.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-11 19:27 ` Eli Zaretskii
@ 2006-06-11 21:42 ` Nick Roberts
2006-06-12 3:36 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-11 21:42 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> This is fine, thanks.
Are you approving the whole (second) patch (Sat, 10 Jun 2006 11:26:11 +1200)
or just this part? I might have confused things by sending it while still
dealing with the first patch, and don't want to jump the gun this time.
Also, going back over the e-mails, I notice you didn't like:
For the developers convenience, CLI commands can be entered directly,...
Is this better?
For the developers convenience, GDB/MI accepts CLI commands as input,...
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-11 21:42 ` Nick Roberts
@ 2006-06-12 3:36 ` Eli Zaretskii
2006-06-12 6:19 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-12 3:36 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Mon, 12 Jun 2006 09:41:49 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > This is fine, thanks.
>
> Are you approving the whole (second) patch (Sat, 10 Jun 2006 11:26:11 +1200)
I already approved the second patch (which AFAIU was just like the one
before, with my comments resolved, and I said in response to the first
patch that once the comments are taken care of, you can commit). I
also approved the reordering you asked about.
> or just this part?
"this is fine" above approved this part.
> Also, going back over the e-mails, I notice you didn't like:
>
> For the developers convenience, CLI commands can be entered directly,...
>
> Is this better?
>
> For the developers convenience, GDB/MI accepts CLI commands as input,...
Yes.
Thanks.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-12 3:36 ` Eli Zaretskii
@ 2006-06-12 6:19 ` Nick Roberts
2006-06-13 3:39 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-12 6:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
Eli Zaretskii writes:
> > From: Nick Roberts <nickrob@snap.net.nz>
> > Date: Mon, 12 Jun 2006 09:41:49 +1200
> > Cc: gdb-patches@sources.redhat.com
> >
> > > This is fine, thanks.
> >
> > Are you approving the whole (second) patch (Sat, 10 Jun 2006 11:26:11 +1200)
>
> I already approved the second patch (which AFAIU was just like the one
> before, with my comments resolved, and I said in response to the first
> patch that once the comments are taken care of, you can commit). I
> also approved the reordering you asked about.
Just one part of the second patch (GDB/MI Compatibility with CLI) was part of
the previous patch. Are you clear about/OK with this part?:
(GDB/MI Data Manipulation): Remove description of unimplemented
display related commands as variable objects perform this function
and are superior: -display-delete, -display-disable,
-display-enable, -display-insert and -display-list. Move
-environment-cd, -environment-directory, -environment-path
and -environment-pwd to "Program Context".
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-12 6:19 ` Nick Roberts
@ 2006-06-13 3:39 ` Eli Zaretskii
2006-06-13 4:46 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-13 3:39 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Mon, 12 Jun 2006 18:18:14 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > I already approved the second patch (which AFAIU was just like the one
> > before, with my comments resolved, and I said in response to the first
> > patch that once the comments are taken care of, you can commit). I
> > also approved the reordering you asked about.
>
> Just one part of the second patch (GDB/MI Compatibility with CLI) was part of
> the previous patch. Are you clear about/OK with this part?:
>
> (GDB/MI Data Manipulation): Remove description of unimplemented
> display related commands as variable objects perform this function
> and are superior: -display-delete, -display-disable,
> -display-enable, -display-insert and -display-list. Move
> -environment-cd, -environment-directory, -environment-path
> and -environment-pwd to "Program Context".
Please don't do things like that: please don't mix a corrected patch
with another as yet unseen patch, especially not in such large
patches. I checked a few changes, saw that you fixed my comments, and
didn't look farther. I cannot afford reading such large patches
several times; I usually trust people that when they say they took
care of my comments, they really did.
Now please post only the new parts, the ones I've never seen. Please
don't commit anything before that.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-13 3:39 ` Eli Zaretskii
@ 2006-06-13 4:46 ` Nick Roberts
2006-06-13 17:26 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-13 4:46 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > Just one part of the second patch (GDB/MI Compatibility with CLI) was
> > part of the previous patch. Are you clear about/OK with this part?:
> >
> > (GDB/MI Data Manipulation): Remove description of unimplemented
> > display related commands as variable objects perform this function
> > and are superior: -display-delete, -display-disable,
> > -display-enable, -display-insert and -display-list. Move
> > -environment-cd, -environment-directory, -environment-path
> > and -environment-pwd to "Program Context".
>
> Please don't do things like that: please don't mix a corrected patch
> with another as yet unseen patch, especially not in such large
> patches. I checked a few changes, saw that you fixed my comments, and
> didn't look farther. I cannot afford reading such large patches
> several times; I usually trust people that when they say they took
> care of my comments, they really did.
As you had given (conditiomal) approval for the first patch, I thought it
would be safe to send a second. Anyway I see now that I shouldn't have
confused the issue. For some changes, like the one above, I think you
could just look at the ChangeLog entry.
> Now please post only the new parts, the ones I've never seen. Please
> don't commit anything before that.
I'm not sure where this is leading because at some stage I will want to commit
the parts that you have already seen and approved. It would be easier for me
to commit those now and submit a patch for the new parts, so that there is no
more confusion about what you are approving. Would that be OK?
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-13 4:46 ` Nick Roberts
@ 2006-06-13 17:26 ` Eli Zaretskii
2006-06-13 21:15 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-13 17:26 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Cc: gdb-patches@sources.redhat.com
> Date: Tue, 13 Jun 2006 16:45:50 +1200 (NZST)
>
> > Now please post only the new parts, the ones I've never seen. Please
> > don't commit anything before that.
>
> I'm not sure where this is leading because at some stage I will want to commit
> the parts that you have already seen and approved. It would be easier for me
> to commit those now and submit a patch for the new parts, so that there is no
> more confusion about what you are approving. Would that be OK?
I no longer have a clear idea what do you mean by ``those'' patches
that you want to commit. Please help me see the light.
I've read and approved the patch you posted here:
http://sourceware.org/ml/gdb-patches/2006-06/msg00030.html
subject to the comments in my response here:
http://sourceware.org/ml/gdb-patches/2006-06/msg00104.html
You responded with this message:
http://sourceware.org/ml/gdb-patches/2006-06/msg00117.html
where you seemed to say that the patch included in the message was the
previous one, with my comments fixed and some node reordering. I
approved the reordering, which I thought to be the only new part (in
http://sourceware.org/ml/gdb-patches/2006-06/msg00121.html). If the
patch from msg00117.html included something other than what I thought
it did, please tell me where to look to find the new parts. I cannot
approve something I didn't review, and if I have to read it all anew,
it will have to wait for at least a week, as I won't have enough time
before that.
TIA
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-13 17:26 ` Eli Zaretskii
@ 2006-06-13 21:15 ` Nick Roberts
2006-06-14 18:30 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-13 21:15 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > > Now please post only the new parts, the ones I've never seen. Please
> > > don't commit anything before that.
> >
> > I'm not sure where this is leading because at some stage I will want to
> > commit the parts that you have already seen and approved. It would be
> > easier for me to commit those now and submit a patch for the new parts,
> > so that there is no more confusion about what you are approving. Would
> > that be OK?
>
> I no longer have a clear idea what do you mean by ``those'' patches
> that you want to commit.
No, but I have a clear idea about what you have approved and what you may not
have seen. You could choose to trust me.
> Please help me see the light.
>
> I've read and approved the patch you posted here:
>
> http://sourceware.org/ml/gdb-patches/2006-06/msg00030.html
>
> subject to the comments in my response here:
>
> http://sourceware.org/ml/gdb-patches/2006-06/msg00104.html
>
> You responded with this message:
>
> http://sourceware.org/ml/gdb-patches/2006-06/msg00117.html
>
> where you seemed to say that the patch included in the message was the
> previous one, with my comments fixed and some node reordering. I
> approved the reordering, which I thought to be the only new part (in
> http://sourceware.org/ml/gdb-patches/2006-06/msg00121.html). If the
> patch from msg00117.html included something other than what I thought
> it did, please tell me where to look to find the new parts.
Clearly they're in msg00117.html, more specifically everything after and
including "@subsubheading A Bad Command".
> I cannot
> approve something I didn't review, and if I have to read it all anew,
> it will have to wait for at least a week, as I won't have enough time
> before that.
The changes are quite simple although the patch may not look it. I've
removed the MI commands related to "display" and I've split a node. It's
just that these two changes overlap in the patch.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-13 21:15 ` Nick Roberts
@ 2006-06-14 18:30 ` Eli Zaretskii
2006-06-14 21:05 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-14 18:30 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Wed, 14 Jun 2006 09:14:34 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > > > Now please post only the new parts, the ones I've never seen. Please
> > > > don't commit anything before that.
> > >
> > > I'm not sure where this is leading because at some stage I will want to
> > > commit the parts that you have already seen and approved. It would be
> > > easier for me to commit those now and submit a patch for the new parts,
> > > so that there is no more confusion about what you are approving. Would
> > > that be OK?
> >
> > I no longer have a clear idea what do you mean by ``those'' patches
> > that you want to commit.
>
> No, but I have a clear idea about what you have approved and what you may not
> have seen. You could choose to trust me.
If I somehow sounded like I didn't trust you, I apologize: I never
meant anything like that. Of course I trust you; I just need to see
the parts I didn't yet review. That is all I asked for above: that
you point me to those unseen parts, or post them separately, whatever
is more convenient.
> > You responded with this message:
> >
> > http://sourceware.org/ml/gdb-patches/2006-06/msg00117.html
> >
> > where you seemed to say that the patch included in the message was the
> > previous one, with my comments fixed and some node reordering. I
> > approved the reordering, which I thought to be the only new part (in
> > http://sourceware.org/ml/gdb-patches/2006-06/msg00121.html). If the
> > patch from msg00117.html included something other than what I thought
> > it did, please tell me where to look to find the new parts.
>
> Clearly they're in msg00117.html, more specifically everything after and
> including "@subsubheading A Bad Command".
That was the clue I was missing. So everything after this
@subsubheading is the stuff I should review, right? I will do that
soon.
Thanks.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-14 18:30 ` Eli Zaretskii
@ 2006-06-14 21:05 ` Nick Roberts
2006-06-15 6:56 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-14 21:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
> > No, but I have a clear idea about what you have approved and what you may
> > not have seen. You could choose to trust me.
>
> If I somehow sounded like I didn't trust you, I apologize: I never
> meant anything like that. Of course I trust you; I just need to see
> the parts I didn't yet review.
No, I mean as a tactic i.e trust my ability to DTRT, rather than my integrity.
Documentation on mainline is much less of a risk than code on the branch.
>...
> > Clearly they're in msg00117.html, more specifically everything after and
> > including "@subsubheading A Bad Command".
>
> That was the clue I was missing. So everything after this
> @subsubheading is the stuff I should review, right? I will do that
> soon.
That's right. Please remember though, the patch that I want to actually commit
will look quite different, because I also want to re-order the nodes.
Thanks.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-14 21:05 ` Nick Roberts
@ 2006-06-15 6:56 ` Eli Zaretskii
2006-06-30 2:13 ` Nick Roberts
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-15 6:56 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Thu, 15 Jun 2006 09:04:16 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > Of course I trust you; I just need to see the parts I didn't yet
> > review.
>
> No, I mean as a tactic i.e trust my ability to DTRT, rather than my integrity.
Well, if you mean approve unreviewed patches, I don't think I can do
that. It's not about trust, it's about another pair of eyes going
through the patch. Granted, documentation cannot break the program,
but the procedure for approving patches is the same.
> Please remember though, the patch that I want to actually commit
> will look quite different, because I also want to re-order the nodes.
Reordering is a mechanical job that doesn't change any text, so
there's no risk of introducing problems. Be sure to run makeinfo,
though, before you commit.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-15 6:56 ` Eli Zaretskii
@ 2006-06-30 2:13 ` Nick Roberts
2006-06-30 12:09 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Nick Roberts @ 2006-06-30 2:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: gdb-patches
Eli Zaretskii writes:
> > From: Nick Roberts <nickrob@snap.net.nz>
> > Date: Thu, 15 Jun 2006 09:04:16 +1200
> > Cc: gdb-patches@sources.redhat.com
> >
> > > Of course I trust you; I just need to see the parts I didn't yet
> > > review.
> >
> > No, I mean as a tactic i.e trust my ability to DTRT, rather than my integrity.
>
> Well, if you mean approve unreviewed patches, I don't think I can do
> that. It's not about trust, it's about another pair of eyes going
> through the patch. Granted, documentation cannot break the program,
> but the procedure for approving patches is the same.
I mean trust me to only commit the parts that you have approved. Anyway...
> > Please remember though, the patch that I want to actually commit
> > will look quite different, because I also want to re-order the nodes.
>
> Reordering is a mechanical job that doesn't change any text, so
> there's no risk of introducing problems. Be sure to run makeinfo,
> though, before you commit.
...what's the status? The above reads like approval, but it's a bit too
subtle for me to confidently take it that way.
--
Nick http://www.inet.net.nz/~nickrob
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-30 2:13 ` Nick Roberts
@ 2006-06-30 12:09 ` Eli Zaretskii
2006-06-30 14:12 ` Eli Zaretskii
0 siblings, 1 reply; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-30 12:09 UTC (permalink / raw)
To: Nick Roberts; +Cc: gdb-patches
> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Fri, 30 Jun 2006 14:12:15 +1200
> Cc: gdb-patches@sources.redhat.com
>
> > > Please remember though, the patch that I want to actually commit
> > > will look quite different, because I also want to re-order the nodes.
> >
> > Reordering is a mechanical job that doesn't change any text, so
> > there's no risk of introducing problems. Be sure to run makeinfo,
> > though, before you commit.
>
> ...what's the status?
I had a very busy week. I hope I'll review the patches today or
tomorrow. Sorry for the delay.
> The above reads like approval, but it's a bit too subtle for me to
> confidently take it that way.
It's an advance approval of the reordering that you said you will do
after I review the last patch you sent.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [PATCH] MI Doco
2006-06-30 12:09 ` Eli Zaretskii
@ 2006-06-30 14:12 ` Eli Zaretskii
0 siblings, 0 replies; 32+ messages in thread
From: Eli Zaretskii @ 2006-06-30 14:12 UTC (permalink / raw)
To: nickrob, gdb-patches
> Date: Fri, 30 Jun 2006 15:09:12 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> CC: gdb-patches@sources.redhat.com
>
> > ...what's the status?
>
> I had a very busy week. I hope I'll review the patches today or
> tomorrow. Sorry for the delay.
Okay, done. You can commit this patch:
http://sourceware.org/ml/gdb-patches/2006-06/msg00117.html
Thanks for your patience.
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [commit] Fix MI prompt in manual (was: MI Doco)
2006-06-10 7:32 ` Eli Zaretskii
@ 2006-07-01 12:35 ` Eli Zaretskii
0 siblings, 0 replies; 32+ messages in thread
From: Eli Zaretskii @ 2006-07-01 12:35 UTC (permalink / raw)
To: gdb-patches
> Date: Sat, 10 Jun 2006 10:32:32 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Date: Fri, 9 Jun 2006 15:57:43 -0400
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > > Are you saying that all the MI examples that use @value{GDBP} are
> > > incorrect?
> >
> > Yes, I'm afraid so.
>
> I guess we will need to fix that ASAP.
Done with the following patch:
2006-07-01 Eli Zaretskii <eliz@gnu.org>
* gdb.texinfo (GDB/MI Output Syntax, GDB/MI Simple Examples)
(GDB/MI Breakpoint Commands, GDB/MI Program Context)
(GDB/MI Thread Commands, GDB/MI Program Execution)
(GDB/MI Stack Manipulation, GDB/MI Variable Objects)
(GDB/MI Data Manipulation, GDB/MI Symbol Query)
(GDB/MI File Commands, GDB/MI Target Manipulation)
(GDB/MI Miscellaneous Commands): Change (@value{GDBP})->(gdb),
since the MI prompt is hard-wired into the code.
Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.341
diff -u -r1.341 gdb.texinfo
--- gdb.texinfo 30 Jun 2006 21:43:22 -0000 1.341
+++ gdb.texinfo 1 Jul 2006 12:31:36 -0000
@@ -17371,7 +17371,7 @@
The output from @sc{gdb/mi} consists of zero or more out-of-band records
followed, optionally, by a single result record. This result record
is for the most recent command. The sequence of output records is
-terminated by @samp{(@value{GDBP})}.
+terminated by @samp{(gdb)}.
If an input command was prefixed with a @code{@var{token}} then the
corresponding output for that command will also be prefixed by that same
@@ -17379,7 +17379,7 @@
@table @code
@item @var{output} @expansion{}
-@code{( @var{out-of-band-record} )* [ @var{result-record} ] "(@value{GDBP})" @var{nl}}
+@code{( @var{out-of-band-record} )* [ @var{result-record} ] "(gdb)" @var{nl}}
@item @var{result-record} @expansion{}
@code{ [ @var{token} ] "^" @var{result-class} ( "," @var{result} )* @var{nl}}
@@ -17763,7 +17763,7 @@
@smallexample
-> -rubbish
<- ^error,msg="Undefined MI command: rubbish"
-<- (@value{GDBP})
+<- (gdb)
@end smallexample
@@ -17834,15 +17834,15 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-insert main
^done,bkpt=@{number="1",addr="0x000100d0",file="hello.c",
fullname="/home/foo/hello.c",line="5",times="0"@}
-(@value{GDBP})
+(gdb)
-break-after 1 3
~
^done
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -17854,7 +17854,7 @@
body=[bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
line="5",times="0",ignore="3"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@ignore
@@ -17887,10 +17887,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-condition 1 1
^done
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -17902,7 +17902,7 @@
body=[bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
line="5",cond="1",times="0",ignore="3"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-delete} Command
@@ -17924,10 +17924,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-delete 1
^done
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="0",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -17937,7 +17937,7 @@
@{width="10",alignment="-1",col_name="addr",colhdr="Address"@},
@{width="40",alignment="2",col_name="what",colhdr="What"@}],
body=[]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-disable} Command
@@ -17959,10 +17959,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-disable 2
^done
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -17974,7 +17974,7 @@
body=[bkpt=@{number="2",type="breakpoint",disp="keep",enabled="n",
addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
line="5",times="0"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-enable} Command
@@ -17995,10 +17995,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-enable 2
^done
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18010,7 +18010,7 @@
body=[bkpt=@{number="2",type="breakpoint",disp="keep",enabled="y",
addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",
line="5",times="0"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-info} Command
@@ -18104,15 +18104,15 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-insert main
^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",
fullname="/home/foo/recursive2.c,line="4",times="0"@}
-(@value{GDBP})
+(gdb)
-break-insert -t foo
^done,bkpt=@{number="2",addr="0x00010774",file="recursive2.c",
fullname="/home/foo/recursive2.c,line="11",times="0"@}
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18127,12 +18127,12 @@
bkpt=@{number="2",type="breakpoint",disp="del",enabled="y",
addr="0x00010774",func="foo",file="recursive2.c",
fullname="/home/foo/recursive2.c",line="11",times="0"@}]@}
-(@value{GDBP})
+(gdb)
-break-insert -r foo.*
~int foo(int, int);
^done,bkpt=@{number="3",addr="0x00010774",file="recursive2.c,
"fullname="/home/foo/recursive2.c",line="11",times="0"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-list} Command
@@ -18175,7 +18175,7 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18189,13 +18189,13 @@
bkpt=@{number="2",type="breakpoint",disp="keep",enabled="y",
addr="0x00010114",func="foo",file="hello.c",fullname="/home/foo/hello.c",
line="13",times="0"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
Here's an example of the result when there are no breakpoints:
@smallexample
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="0",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18205,7 +18205,7 @@
@{width="10",alignment="-1",col_name="addr",colhdr="Address"@},
@{width="40",alignment="2",col_name="what",colhdr="What"@}],
body=[]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-break-watch} Command
@@ -18239,17 +18239,17 @@
Setting a watchpoint on a variable in the @code{main} function:
@smallexample
-(@value{GDBP})
+(gdb)
-break-watch x
^done,wpt=@{number="2",exp="x"@}
-(@value{GDBP})
+(gdb)
-exec-continue
^running
^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
value=@{old="-268439212",new="55"@},
frame=@{func="main",args=[],file="recursive2.c",
fullname="/home/foo/bar/recursive2.c",line="5"@}
-(@value{GDBP})
+(gdb)
@end smallexample
Setting a watchpoint on a variable local to a function. @value{GDBN} will stop
@@ -18257,10 +18257,10 @@
for the watchpoint going out of scope.
@smallexample
-(@value{GDBP})
+(gdb)
-break-watch C
^done,wpt=@{number="5",exp="C"@}
-(@value{GDBP})
+(gdb)
-exec-continue
^running
^done,reason="watchpoint-trigger",
@@ -18268,7 +18268,7 @@
frame=@{func="callee4",args=[],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
-(@value{GDBP})
+(gdb)
-exec-continue
^running
^done,reason="watchpoint-scope",wpnum="5",
@@ -18276,7 +18276,7 @@
value="0x11940 \"A string argument.\""@}],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
-(@value{GDBP})
+(gdb)
@end smallexample
Listing breakpoints and watchpoints, at different points in the program
@@ -18284,10 +18284,10 @@
deleted.
@smallexample
-(@value{GDBP})
+(gdb)
-break-watch C
^done,wpt=@{number="2",exp="C"@}
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18302,7 +18302,7 @@
fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c"line="8",times="1"@},
bkpt=@{number="2",type="watchpoint",disp="keep",
enabled="y",addr="",what="C",times="0"@}]@}
-(@value{GDBP})
+(gdb)
-exec-continue
^running
^done,reason="watchpoint-trigger",wpt=@{number="2",exp="C"@},
@@ -18310,7 +18310,7 @@
frame=@{func="callee4",args=[],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="2",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18325,7 +18325,7 @@
fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line="8",times="1"@},
bkpt=@{number="2",type="watchpoint",disp="keep",
enabled="y",addr="",what="C",times="-5"@}]@}
-(@value{GDBP})
+(gdb)
-exec-continue
^running
^done,reason="watchpoint-scope",wpnum="2",
@@ -18333,7 +18333,7 @@
value="0x11940 \"A string argument.\""@}],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
-(@value{GDBP})
+(gdb)
-break-list
^done,BreakpointTable=@{nr_rows="1",nr_cols="6",
hdr=[@{width="3",alignment="-1",col_name="number",colhdr="Num"@},
@@ -18347,7 +18347,7 @@
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/devo/gdb/testsuite/gdb.mi/basics.c",line="8",
times="1"@}]@}
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -18414,10 +18414,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-environment-cd /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18454,19 +18454,19 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-environment-directory /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
^done,source-path="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd"
-(@value{GDBP})
+(gdb)
-environment-directory ""
^done,source-path="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd"
-(@value{GDBP})
+(gdb)
-environment-directory -r /home/jjohnstn/src/gdb /usr/src
^done,source-path="/home/jjohnstn/src/gdb:/usr/src:$cdir:$cwd"
-(@value{GDBP})
+(gdb)
-environment-directory -r
^done,source-path="$cdir:$cwd"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18505,16 +18505,16 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-environment-path
^done,path="/usr/bin"
-(@value{GDBP})
+(gdb)
-environment-path /kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb /bin
^done,path="/kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb:/bin:/usr/bin"
-(@value{GDBP})
+(gdb)
-environment-path -r /usr/local/bin
^done,path="/usr/local/bin:/usr/bin"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18536,10 +18536,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-environment-pwd
^done,cwd="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb"
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -18602,21 +18602,21 @@
No threads present, besides the main process:
@smallexample
-(@value{GDBP})
+(gdb)
-thread-list-ids
^done,thread-ids=@{@},number-of-threads="0"
-(@value{GDBP})
+(gdb)
@end smallexample
Several threads:
@smallexample
-(@value{GDBP})
+(gdb)
-thread-list-ids
^done,thread-ids=@{thread-id="3",thread-id="2",thread-id="1"@},
number-of-threads="3"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18639,24 +18639,24 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-exec-next
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",thread-id="2",line="187",
file="../../../devo/gdb/testsuite/gdb.threads/linux-dp.c"
-(@value{GDBP})
+(gdb)
-thread-list-ids
^done,
thread-ids=@{thread-id="3",thread-id="2",thread-id="1"@},
number-of-threads="3"
-(@value{GDBP})
+(gdb)
-thread-select 3
^done,new-thread-id="3",
frame=@{level="0",func="vprintf",
args=[@{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""@},
@{name="arg",value="0x2"@}],file="vprintf.c",line="31"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -18689,11 +18689,11 @@
@smallexample
-exec-continue
^running
-(@value{GDBP})
+(gdb)
@@Hello world
*stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=[],
file="hello.c",fullname="/home/foo/bar/hello.c",line="13"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18720,11 +18720,11 @@
@smallexample
-exec-finish
^running
-(@value{GDBP})
+(gdb)
@@hello from foo
*stopped,reason="function-finished",frame=@{func="main",args=[],
file="hello.c",fullname="/home/foo/bar/hello.c",line="7"@}
-(@value{GDBP})
+(gdb)
@end smallexample
Function returning other than @code{void}. The name of the internal
@@ -18734,12 +18734,12 @@
@smallexample
-exec-finish
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
args=[@{name="a",value="1"],@{name="b",value="9"@}@},
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
gdb-result-var="$1",return-value="0"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18765,23 +18765,23 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
111-exec-continue
111^running
-(@value{GDBP})
+(gdb)
222-exec-interrupt
222^done
-(@value{GDBP})
+(gdb)
111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
frame=@{addr="0x00010140",func="foo",args=[],file="try.c",
fullname="/home/foo/bar/try.c",line="13"@}
-(@value{GDBP})
+(gdb)
-(@value{GDBP})
+(gdb)
-exec-interrupt
^error,msg="mi_cmd_exec_interrupt: Inferior not executing."
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18806,9 +18806,9 @@
@smallexample
-exec-next
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",line="8",file="hello.c"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18833,14 +18833,14 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-exec-next-instruction
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",
addr="0x000100d4",line="5",file="hello.c"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18863,29 +18863,29 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
200-break-insert callee4
200^done,bkpt=@{number="1",addr="0x00010734",
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
-(@value{GDBP})
+(gdb)
000-exec-run
000^running
-(@value{GDBP})
+(gdb)
000*stopped,reason="breakpoint-hit",bkptno="1",
frame=@{func="callee4",args=[],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
-(@value{GDBP})
+(gdb)
205-break-delete
205^done
-(@value{GDBP})
+(gdb)
111-exec-return
111^done,frame=@{level="0",func="callee3",
args=[@{name="strarg",
value="0x11940 \"A string argument.\""@}],
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -18910,50 +18910,50 @@
@subsubheading Examples
@smallexample
-(@value{GDBP})
+(gdb)
-break-insert main
^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",line="4"@}
-(@value{GDBP})
+(gdb)
-exec-run
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="breakpoint-hit",bkptno="1",
frame=@{func="main",args=[],file="recursive2.c",
fullname="/home/foo/bar/recursive2.c",line="4"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@noindent
Program exited normally:
@smallexample
-(@value{GDBP})
+(gdb)
-exec-run
^running
-(@value{GDBP})
+(gdb)
x = 55
*stopped,reason="exited-normally"
-(@value{GDBP})
+(gdb)
@end smallexample
@noindent
Program exited exceptionally:
@smallexample
-(@value{GDBP})
+(gdb)
-exec-run
^running
-(@value{GDBP})
+(gdb)
x = 55
*stopped,reason="exited",exit-code="01"
-(@value{GDBP})
+(gdb)
@end smallexample
Another way the program can terminate is if it receives a signal such as
@code{SIGINT}. In this case, @sc{gdb/mi} displays this:
@smallexample
-(@value{GDBP})
+(gdb)
*stopped,reason="exited-signalled",signal-name="SIGINT",
signal-meaning="Interrupt"
@end smallexample
@@ -18987,12 +18987,12 @@
@smallexample
-exec-step
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[@{name="a",value="10"@},
@{name="b",value="0"@}],file="recursive2.c",
fullname="/home/foo/bar/recursive2.c",line="11"@}
-(@value{GDBP})
+(gdb)
@end smallexample
Regular stepping:
@@ -19000,9 +19000,9 @@
@smallexample
-exec-step
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",line="14",file="recursive2.c"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19028,23 +19028,23 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-exec-step-instruction
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",
frame=@{func="foo",args=[],file="try.c",
fullname="/home/foo/bar/try.c",line="10"@}
-(@value{GDBP})
+(gdb)
-exec-step-instruction
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="end-stepping-range",
frame=@{addr="0x000100f4",func="foo",args=[],file="try.c",
fullname="/home/foo/bar/try.c",line="10"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19069,14 +19069,14 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-exec-until recursive2.c:6
^running
-(@value{GDBP})
+(gdb)
x = 55
*stopped,reason="location-reached",frame=@{func="main",args=[],
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="6"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@ignore
@@ -19108,12 +19108,12 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-stack-info-frame
^done,frame=@{level="1",addr="0x0001076c",func="callee3",
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"@}
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-stack-info-depth} Command
@@ -19137,22 +19137,22 @@
For a stack with frame levels 0 through 11:
@smallexample
-(@value{GDBP})
+(gdb)
-stack-info-depth
^done,depth="12"
-(@value{GDBP})
+(gdb)
-stack-info-depth 4
^done,depth="4"
-(@value{GDBP})
+(gdb)
-stack-info-depth 12
^done,depth="12"
-(@value{GDBP})
+(gdb)
-stack-info-depth 11
^done,depth="11"
-(@value{GDBP})
+(gdb)
-stack-info-depth 13
^done,depth="12"
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-stack-list-arguments} Command
@@ -19183,7 +19183,7 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-stack-list-frames
^done,
stack=[
@@ -19202,7 +19202,7 @@
frame=@{level="4",addr="0x000107e0",func="main",
file="../../../devo/gdb/testsuite/gdb.mi/basics.c",
fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="32"@}]
-(@value{GDBP})
+(gdb)
-stack-list-arguments 0
^done,
stack-args=[
@@ -19211,7 +19211,7 @@
frame=@{level="2",args=[name="intarg",name="strarg"]@},
frame=@{level="3",args=[name="intarg",name="strarg",name="fltarg"]@},
frame=@{level="4",args=[]@}]
-(@value{GDBP})
+(gdb)
-stack-list-arguments 1
^done,
stack-args=[
@@ -19226,15 +19226,15 @@
@{name="strarg",value="0x11940 \"A string argument.\""@},
@{name="fltarg",value="3.5"@}]@},
frame=@{level="4",args=[]@}]
-(@value{GDBP})
+(gdb)
-stack-list-arguments 0 2 2
^done,stack-args=[frame=@{level="2",args=[name="intarg",name="strarg"]@}]
-(@value{GDBP})
+(gdb)
-stack-list-arguments 1 2 2
^done,stack-args=[frame=@{level="2",
args=[@{name="intarg",value="2"@},
@{name="strarg",value="0x11940 \"A string argument.\""@}]@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@c @subheading -stack-list-exception-handlers
@@ -19279,7 +19279,7 @@
Full stack backtrace:
@smallexample
-(@value{GDBP})
+(gdb)
-stack-list-frames
^done,stack=
[frame=@{level="0",addr="0x0001076c",func="foo",
@@ -19306,13 +19306,13 @@
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="11",addr="0x00010738",func="main",
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="4"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Show frames between @var{low_frame} and @var{high_frame}:
@smallexample
-(@value{GDBP})
+(gdb)
-stack-list-frames 3 5
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
@@ -19321,18 +19321,18 @@
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@},
frame=@{level="5",addr="0x000107a4",func="foo",
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Show a single frame:
@smallexample
-(@value{GDBP})
+(gdb)
-stack-list-frames 3 3
^done,stack=
[frame=@{level="3",addr="0x000107a4",func="foo",
file="recursive2.c",fullname="/home/foo/bar/recursive2.c",line="14"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19362,17 +19362,17 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-stack-list-locals 0
^done,locals=[name="A",name="B",name="C"]
-(@value{GDBP})
+(gdb)
-stack-list-locals --all-values
^done,locals=[@{name="A",value="1"@},@{name="B",value="2"@},
@{name="C",value="@{1, 2, 3@}"@}]
-stack-list-locals --simple-values
^done,locals=[@{name="A",type="int",value="1"@},
@{name="B",type="int",value="2"@},@{name="C",type="int [3]"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19396,10 +19396,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-stack-select-frame 2
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19637,11 +19637,11 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-var-list-children n
^done,numchild=@var{n},children=[@{name=@var{name},
numchild=@var{n},type=@var{type}@},@r{(repeats N times)}]
-(@value{GDBP})
+(gdb)
-var-list-children --all-values n
^done,numchild=@var{n},children=[@{name=@var{name},
numchild=@var{n},value=@var{value},type=@var{type}@},@r{(repeats N times)}]
@@ -19739,13 +19739,13 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-var-assign var1 3
^done,value="3"
-(@value{GDBP})
+(gdb)
-var-update *
^done,changelist=[@{name="var1",in_scope="true",type_changed="false"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-var-update} Command
@@ -19767,14 +19767,14 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-var-assign var1 3
^done,value="3"
-(@value{GDBP})
+(gdb)
-var-update --all-values var1
^done,changelist=[@{name="var1",value="3",in_scope="true",
type_changed="false"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -19855,7 +19855,7 @@
Disassemble from the current value of @code{$pc} to @code{$pc + 20}:
@smallexample
-(@value{GDBP})
+(gdb)
-data-disassemble -s $pc -e "$pc + 20" -- 0
^done,
asm_insns=[
@@ -19869,7 +19869,7 @@
inst="sethi %hi(0x11800), %o2"@},
@{address="0x000107d0",func-name="main",offset="20",
inst="or %o2, 0x168, %o4\t! 0x11968 <_lib_version+48>"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Disassemble the whole @code{main} function. Line 32 is part of
@@ -19887,13 +19887,13 @@
[@dots{}]
@{address="0x0001081c",func-name="main",offset="96",inst="ret "@},
@{address="0x00010820",func-name="main",offset="100",inst="restore "@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Disassemble 3 instructions from the start of @code{main}:
@smallexample
-(@value{GDBP})
+(gdb)
-data-disassemble -f basics.c -l 32 -n 3 -- 0
^done,asm_insns=[
@{address="0x000107bc",func-name="main",offset="0",
@@ -19902,13 +19902,13 @@
inst="mov 2, %o0"@},
@{address="0x000107c4",func-name="main",offset="8",
inst="sethi %hi(0x11800), %o2"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Disassemble 3 instructions from the start of @code{main} in mixed mode:
@smallexample
-(@value{GDBP})
+(gdb)
-data-disassemble -f basics.c -l 32 -n 3 -- 1
^done,asm_insns=[
src_and_asm_line=@{line="31",
@@ -19923,7 +19923,7 @@
inst="mov 2, %o0"@},
@{address="0x000107c4",func-name="main",offset="8",
inst="sethi %hi(0x11800), %o2"@}]@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19956,16 +19956,16 @@
@smallexample
211-data-evaluate-expression A
211^done,value="1"
-(@value{GDBP})
+(gdb)
311-data-evaluate-expression &A
311^done,value="0xefffeb7c"
-(@value{GDBP})
+(gdb)
411-data-evaluate-expression A+3
411^done,value="4"
-(@value{GDBP})
+(gdb)
511-data-evaluate-expression "A + 3"
511^done,value="4"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -19990,19 +19990,19 @@
On a PPC MBX board:
@smallexample
-(@value{GDBP})
+(gdb)
-exec-continue
^running
-(@value{GDBP})
+(gdb)
*stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
args=[],file="try.c",fullname="/home/foo/bar/try.c",line="5"@}
-(@value{GDBP})
+(gdb)
-data-list-changed-registers
^done,changed-registers=["0","1","2","4","5","6","7","8","9",
"10","11","13","14","15","16","17","18","19","20","21","22","23",
"24","25","26","27","28","30","31","64","65","66","67","69"]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20032,7 +20032,7 @@
For the PPC MBX board:
@smallexample
-(@value{GDBP})
+(gdb)
-data-list-register-names
^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7",
"r8","r9","r10","r11","r12","r13","r14","r15","r16","r17","r18",
@@ -20041,10 +20041,10 @@
"f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f20",
"f21","f22","f23","f24","f25","f26","f27","f28","f29","f30","f31",
"", "pc","ps","cr","lr","ctr","xer"]
-(@value{GDBP})
+(gdb)
-data-list-register-names 1 2 3
^done,register-names=["r1","r2","r3"]
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-data-list-register-values} Command
@@ -20089,11 +20089,11 @@
don't appear in the actual output):
@smallexample
-(@value{GDBP})
+(gdb)
-data-list-register-values r 64 65
^done,register-values=[@{number="64",value="0xfe00a300"@},
@{number="65",value="0x00029002"@}]
-(@value{GDBP})
+(gdb)
-data-list-register-values x
^done,register-values=[@{number="0",value="0xfe0043c8"@},
@{number="1",value="0x3fff88"@},@{number="2",value="0xfffffffe"@},
@@ -20131,7 +20131,7 @@
@{number="65",value="0x29002"@},@{number="66",value="0x202f04b5"@},
@{number="67",value="0xfe0043b0"@},@{number="68",value="0xfe00b3e4"@},
@{number="69",value="0x20002b03"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20204,7 +20204,7 @@
word. Display each word in hex.
@smallexample
-(@value{GDBP})
+(gdb)
9-data-read-memory -o -6 -- bytes+6 x 1 3 2
9^done,addr="0x00001390",nr-bytes="6",total-bytes="6",
next-row="0x00001396",prev-row="0x0000138e",next-page="0x00001396",
@@ -20212,20 +20212,20 @@
@{addr="0x00001390",data=["0x00","0x01"]@},
@{addr="0x00001392",data=["0x02","0x03"]@},
@{addr="0x00001394",data=["0x04","0x05"]@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Read two bytes of memory starting at address @code{shorts + 64} and
display as a single word formatted in decimal.
@smallexample
-(@value{GDBP})
+(gdb)
5-data-read-memory shorts+64 d 2 1 1
5^done,addr="0x00001510",nr-bytes="2",total-bytes="2",
next-row="0x00001512",prev-row="0x0000150e",
next-page="0x00001512",prev-page="0x0000150e",memory=[
@{addr="0x00001510",data=["128"]@}]
-(@value{GDBP})
+(gdb)
@end smallexample
Read thirty two bytes of memory starting at @code{bytes+16} and format
@@ -20233,7 +20233,7 @@
used as the non-printable character.
@smallexample
-(@value{GDBP})
+(gdb)
4-data-read-memory bytes+16 x 1 8 4 x
4^done,addr="0x000013a0",nr-bytes="32",total-bytes="32",
next-row="0x000013c0",prev-row="0x0000139c",
@@ -20246,7 +20246,7 @@
@{addr="0x000013b4",data=["0x24","0x25","0x26","0x27"],ascii="$%&'"@},
@{addr="0x000013b8",data=["0x28","0x29","0x2a","0x2b"],ascii="()*+"@},
@{addr="0x000013bc",data=["0x2c","0x2d","0x2e","0x2f"],ascii=",-./"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -20427,10 +20427,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-symbol-list-lines basics.c
^done,lines=[@{pc="0x08048554",line="7"@},@{pc="0x0804855a",line="8"@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20540,10 +20540,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-file-exec-and-symbols /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20569,10 +20569,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-file-exec-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20616,10 +20616,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
123-file-list-exec-source-file
123^done,line="1",file="foo.c",fullname="/home/bar/foo.c"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20644,13 +20644,13 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-file-list-exec-source-files
^done,files=[
@{file=foo.c,fullname=/home/foo.c@},
@{file=/home/bar.c,fullname=/home/bar.c@},
@{file=gdb_could_not_find_fullpath.c@}]
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-file-list-shared-libraries} Command
@@ -20711,10 +20711,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-file-symbol-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@ignore
@@ -20829,10 +20829,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-target-detach
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20855,10 +20855,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-target-disconnect
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -20916,7 +20916,7 @@
have been broken down so that they can fit onto a page.
@smallexample
-(@value{GDBP})
+(gdb)
-target-download
+download,@{section=".text",section-size="6668",total-size="9880"@}
+download,@{section=".text",section-sent="512",section-size="6668",
@@ -20962,7 +20962,7 @@
total-sent="9796",total-size="9880"@}
^done,address="0x10004",load-size="9880",transfer-rate="6586",
write-rate="429"
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -21078,10 +21078,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-target-select async /dev/ttya
^connected,addr="0xfe00a300",func="??",args=[]
-(@value{GDBP})
+(gdb)
@end smallexample
@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -21108,7 +21108,7 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-gdb-exit
^exit
@end smallexample
@@ -21152,10 +21152,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-gdb-set $foo=3
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@@ -21177,10 +21177,10 @@
@subsubheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-gdb-show annotate
^done,value="0"
-(@value{GDBP})
+(gdb)
@end smallexample
@c @subheading -gdb-source
@@ -21207,7 +21207,7 @@
@c This example modifies the actual output from GDB to avoid overfull
@c box in TeX.
@smallexample
-(@value{GDBP})
+(gdb)
-gdb-version
~GNU gdb 5.2.1
~Copyright 2000 Free Software Foundation, Inc.
@@ -21220,7 +21220,7 @@
~This GDB was configured as
"--host=sparc-sun-solaris2.5.1 --target=ppc-eabi".
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-interpreter-exec} Command
@@ -21242,13 +21242,13 @@
@subheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-interpreter-exec console "break main"
&"During symbol reading, couldn't parse type; debugger out of date?.\n"
&"During symbol reading, bad structure-type format.\n"
~"Breakpoint 1 at 0x8074fc6: file ../../src/gdb/main.c, line 743.\n"
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-inferior-tty-set} Command
@@ -21269,10 +21269,10 @@
@subheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-inferior-tty-set /dev/pts/1
^done
-(@value{GDBP})
+(gdb)
@end smallexample
@subheading The @code{-inferior-tty-show} Command
@@ -21293,13 +21293,13 @@
@subheading Example
@smallexample
-(@value{GDBP})
+(gdb)
-inferior-tty-set /dev/pts/1
^done
-(@value{GDBP})
+(gdb)
-inferior-tty-show
^done,inferior_tty_terminal="/dev/pts/1"
-(@value{GDBP})
+(gdb)
@end smallexample
@node Annotations
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2006-07-01 12:35 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-02 0:23 [PATCH] MI Doco Nick Roberts
2006-06-02 9:05 ` Eli Zaretskii
2006-06-02 10:23 ` Nick Roberts
2006-06-02 10:44 ` Eli Zaretskii
2006-06-03 23:57 ` Nick Roberts
2006-06-04 19:32 ` Eli Zaretskii
2006-06-09 19:07 ` Eli Zaretskii
2006-06-09 19:12 ` Daniel Jacobowitz
2006-06-09 19:52 ` Eli Zaretskii
2006-06-09 19:57 ` Daniel Jacobowitz
2006-06-10 7:32 ` Eli Zaretskii
2006-07-01 12:35 ` [commit] Fix MI prompt in manual (was: MI Doco) Eli Zaretskii
2006-06-09 19:58 ` [PATCH] MI Doco Bob Rossi
2006-06-09 23:27 ` Nick Roberts
2006-06-10 7:51 ` Eli Zaretskii
2006-06-10 21:40 ` Nick Roberts
2006-06-11 3:31 ` Eli Zaretskii
2006-06-11 10:47 ` Nick Roberts
2006-06-11 19:27 ` Eli Zaretskii
2006-06-11 21:42 ` Nick Roberts
2006-06-12 3:36 ` Eli Zaretskii
2006-06-12 6:19 ` Nick Roberts
2006-06-13 3:39 ` Eli Zaretskii
2006-06-13 4:46 ` Nick Roberts
2006-06-13 17:26 ` Eli Zaretskii
2006-06-13 21:15 ` Nick Roberts
2006-06-14 18:30 ` Eli Zaretskii
2006-06-14 21:05 ` Nick Roberts
2006-06-15 6:56 ` Eli Zaretskii
2006-06-30 2:13 ` Nick Roberts
2006-06-30 12:09 ` Eli Zaretskii
2006-06-30 14:12 ` Eli Zaretskii
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox