This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] MI Doco
> > 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