Change mi/data-disassemble command output to a list ([]) instead of
[deliverable/binutils-gdb.git] / gdb / mi / gdbmi.texinfo
CommitLineData
7162c0ca
EZ
1@c \input texinfo @c -*-texinfo-*-
2@c @c %**start of header
3@c @setfilename gdbmi.info
4@c @settitle GDB/MI Machine Interface
5@c @setchapternewpage off
6@c @c %**end of header
7
8@c @ifinfo
9@c This file documents GDB/MI, a Machine Interface to GDB.
10
e9c75b65 11@c Copyright 2000, 2001 Free Software Foundation, Inc.
7162c0ca
EZ
12@c Contributed by Cygnus Solutions.
13
e9c75b65
EZ
14@c Permission is granted to copy, distribute and/or modify this document
15@c under the terms of the GNU Free Documentation License, Version 1.1 or
16@c any later version published by the Free Software Foundation; with the
17@c Invariant Sections being ``The GDB/MI Interface'' and ``GGDB/MI
18@c Command Syntax'', with the Front-Cover texts being ``A GNU Manual,''
19@c and with the Back-Cover Texts as in (a) below.
7162c0ca 20
e9c75b65
EZ
21@c (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
22@c this GNU Manual, like GNU software. Copies published by the Free
23@c Software Foundation raise funds for GNU development.''
7162c0ca
EZ
24@c @end ifinfo
25
26@c @c This title page illustrates only one of the
27@c @c two methods of forming a title page.
28
29@c @titlepage
30@c @title GDB/MI
e9c75b65
EZ
31@c @subtitle Version 0.3
32@c @subtitle Apr 2001
7162c0ca
EZ
33@c @author Andrew Cagney, Fernando Nasser and Elena Zannoni
34
35@c @c The following two commands
36@c @c start the copyright page.
37@c @page
38@c @vskip 0pt plus 1filll
7162c0ca 39
e9c75b65
EZ
40@c Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc.
41
42@c Permission is granted to copy, distribute and/or modify this document
43@c under the terms of the GNU Free Documentation License, Version 1.1 or
44@c any later version published by the Free Software Foundation; with the
45@c Invariant Sections being ``The GDB/MI Interface'' and ``GGDB/MI
46@c Command Syntax'', with the Front-Cover texts being ``A GNU Manual,''
47@c and with the Back-Cover Texts as in (a) below.
48
49@c (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
50@c this GNU Manual, like GNU software. Copies published by the Free
51@c Software Foundation raise funds for GNU development.''
7162c0ca 52@c @end titlepage
fb40c209 53
7162c0ca
EZ
54@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% CHAPTER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55@node GDB/MI
56@chapter The @sc{gdb/mi} Interface
fb40c209 57
7162c0ca 58@unnumberedsec Function and Purpose
fb40c209 59
7162c0ca 60@cindex @sc{gdb/mi}, its purpose
e7997b74 61@sc{gdb/mi} is a line based machine oriented text interface to @value{GDBN}. It is
7162c0ca
EZ
62specifically intended to support the development of systems which use
63the debugger as just one small component of a larger system.
fb40c209 64
7162c0ca
EZ
65This chapter is a specification of the @sc{gdb/mi} interface. It is written
66in the form of a reference manual.
fb40c209 67
7162c0ca
EZ
68Note that @sc{gdb/mi} is still under construction, so some of the
69features described below are incomplete and subject to change.
fb40c209 70
7162c0ca 71@unnumberedsec Notation and Terminology
fb40c209 72
7162c0ca
EZ
73@cindex notational conventions, for @sc{gdb/mi}
74This chapter uses the following notation:
fb40c209 75
7162c0ca
EZ
76@itemize @bullet
77@item
78@code{|} separates two alternatives.
79
80@item
81@code{[ @var{something} ]} indicates that @var{something} is optional:
82it may or may not be given.
fb40c209 83
7162c0ca
EZ
84@item
85@code{( @var{group} )*} means that @var{group} inside the parentheses
86may repeat zero or more times.
fb40c209 87
7162c0ca
EZ
88@item
89@code{( @var{group} )+} means that @var{group} inside the parentheses
90may repeat one or more times.
fb40c209 91
7162c0ca
EZ
92@item
93@code{"@var{string}"} means a literal @var{string}.
94@end itemize
fb40c209 95
7162c0ca 96@ignore
fb40c209 97@heading Dependencies
7162c0ca 98@end ignore
fb40c209
AC
99
100@heading Acknowledgments
101
7162c0ca
EZ
102In alphabetic order: Andrew Cagney, Fernando Nasser, Stan Shebs and
103Elena Zannoni.
104
105@menu
106* GDB/MI Command Syntax::
8b0ceefc 107* GDB/MI Compatibility with CLI::
7162c0ca
EZ
108* GDB/MI Output Records::
109* GDB/MI Command Description Format::
110* GDB/MI Breakpoint Table Commands::
111* GDB/MI Data Manipulation::
112* GDB/MI Program Control::
d68fc559 113* GDB/MI Miscellaneous Commands::
7162c0ca
EZ
114* GDB/MI Stack Manipulation::
115* GDB/MI Symbol Query::
116* GDB/MI Target Manipulation::
117* GDB/MI Thread Commands::
118* GDB/MI Tracepoint Commands::
119* GDB/MI Variable Objects::
120@end menu
121
122@c When these are implemented, they should be moved to be between Misc and
123@c Stack Manipulation in the above menu. They are now outside the menu
124@c because makeinfo 3.12 barfs if it sees @ignore or @comments in the
125@c middle of a menu.
126@ignore
127* GDB/MI Kod Commands::
128* GDB/MI Memory Overlay Commands::
129* GDB/MI Signal Handling Commands::
130@end ignore
fb40c209 131
7162c0ca
EZ
132@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133@node GDB/MI Command Syntax
134@section @sc{gdb/mi} Command Syntax
fb40c209 135
7162c0ca
EZ
136@menu
137* GDB/MI Input Syntax::
138* GDB/MI Output Syntax::
139* GDB/MI Simple Examples::
140@end menu
fb40c209 141
7162c0ca
EZ
142@node GDB/MI Input Syntax
143@subsection @sc{gdb/mi} Input Syntax
fb40c209 144
7162c0ca
EZ
145@cindex input syntax for @sc{gdb/mi}
146@cindex @sc{gdb/mi}, input syntax
147@table @code
148@item @var{command} @expansion{}
149@code{@var{cli-command} | @var{mi-command}}
fb40c209 150
7162c0ca
EZ
151@item @var{cli-command} @expansion{}
152@code{[ @var{token} ] @var{cli-command} @var{nl}}, where
e7997b74 153@var{cli-command} is any existing @value{GDBN} CLI command.
fb40c209 154
7162c0ca
EZ
155@item @var{mi-command} @expansion{}
156@code{[ @var{token} ] "-" @var{operation} ( " " @var{option} )*
157@code{[} " --" @code{]} ( " " @var{parameter} )* @var{nl}}
fb40c209 158
7162c0ca 159@item @var{token} @expansion{}
1c85fbd9 160"any sequence of digits"
fb40c209 161
7162c0ca
EZ
162@item @var{option} @expansion{}
163@code{"-" @var{parameter} [ " " @var{parameter} ]}
fb40c209 164
7162c0ca
EZ
165@item @var{parameter} @expansion{}
166@code{@var{non-blank-sequence} | @var{c-string}}
fb40c209 167
7162c0ca 168@item @var{operation} @expansion{}
1c85fbd9 169@emph{any of the operations described in this chapter}
fb40c209 170
7162c0ca
EZ
171@item @var{non-blank-sequence} @expansion{}
172@emph{anything, provided it doesn't contain special characters such as
173"-", @var{nl}, """ and of course " "}
fb40c209 174
7162c0ca
EZ
175@item @var{c-string} @expansion{}
176@code{""" @var{seven-bit-iso-c-string-content} """}
fb40c209 177
7162c0ca
EZ
178@item @var{nl} @expansion{}
179@code{CR | CR-LF}
fb40c209
AC
180@end table
181
1c85fbd9 182@noindent
fb40c209
AC
183Notes:
184
185@itemize @bullet
fb40c209 186@item
7162c0ca
EZ
187The CLI commands are still handled by the @sc{mi} interpreter; their
188output is described below.
fb40c209
AC
189
190@item
7162c0ca 191The @code{@var{token}}, when present, is passed back when the command
fb40c209
AC
192finishes.
193
194@item
7162c0ca 195Some @sc{mi} commands accept optional arguments as part of the parameter
1c85fbd9 196list. Each option is identified by a leading @samp{-} (dash) and may be
7162c0ca
EZ
197followed by an optional argument parameter. Options occur first in the
198parameter list and can be delimited from normal parameters using
199@samp{--} (this is useful when some parameters begin with a dash).
fb40c209
AC
200@end itemize
201
202Pragmatics:
203
204@itemize @bullet
fb40c209
AC
205@item
206We want easy access to the existing CLI syntax (for debugging).
207
208@item
7162c0ca 209We want it to be easy to spot a @sc{mi} operation.
fb40c209
AC
210@end itemize
211
7162c0ca
EZ
212@node GDB/MI Output Syntax
213@subsection @sc{gdb/mi} Output Syntax
fb40c209 214
7162c0ca
EZ
215@cindex output syntax of @sc{gdb/mi}
216@cindex @sc{gdb/mi}, output syntax
217The output from @sc{gdb/mi} consists of zero or more out-of-band records
d68fc559
EZ
218followed, optionally, by a single result record. This result record
219is for the most recent command. The sequence of output records is
1c85fbd9 220terminated by @samp{(@value{GDBP})}.
fb40c209 221
7162c0ca 222If an input command was prefixed with a @code{@var{token}} then the
fb40c209 223corresponding output for that command will also be prefixed by that same
7162c0ca 224@var{token}.
fb40c209
AC
225
226@table @code
7162c0ca
EZ
227@item @var{output} @expansion{}
228@code{( @var{out-of-band-record} )* [ @var{result-record} ] "(gdb)" @var{nl}}
fb40c209 229
7162c0ca
EZ
230@item @var{result-record} @expansion{}
231@code{ [ @var{token} ] "^" @var{result-class} ( "," @var{result} )* @var{nl}}
fb40c209 232
7162c0ca
EZ
233@item @var{out-of-band-record} @expansion{}
234@code{@var{async-record} | @var{stream-record}}
fb40c209 235
7162c0ca
EZ
236@item @var{async-record} @expansion{}
237@code{@var{exec-async-output} | @var{status-async-output} | @var{notify-async-output}}
fb40c209 238
7162c0ca
EZ
239@item @var{exec-async-output} @expansion{}
240@code{[ @var{token} ] "*" @var{async-output}}
fb40c209 241
7162c0ca
EZ
242@item @var{status-async-output} @expansion{}
243@code{[ @var{token} ] "+" @var{async-output}}
fb40c209 244
7162c0ca
EZ
245@item @var{notify-async-output} @expansion{}
246@code{[ @var{token} ] "=" @var{async-output}}
fb40c209 247
7162c0ca
EZ
248@item @var{async-output} @expansion{}
249@code{@var{async-class} ( "," @var{result} )* @var{nl}}
fb40c209 250
7162c0ca
EZ
251@item @var{result-class} @expansion{}
252@code{"done" | "running" | "connected" | "error" | "exit"}
fb40c209 253
7162c0ca
EZ
254@item @var{async-class} @expansion{}
255@code{"stopped" | @var{others}} (where @var{others} will be added
256depending on the needs---this is still in development).
fb40c209 257
7162c0ca 258@item @var{result} @expansion{}
163e6d2d
AC
259@code{ @var{variable} "=" @var{value}}
260
261@item @var{variable} @expansion{}
262@code{ @var{string} }
fb40c209 263
7162c0ca 264@item @var{value} @expansion{}
163e6d2d 265@code{ @var{const} | @var{tuple} | @var{list} }
fb40c209 266
7162c0ca
EZ
267@item @var{const} @expansion{}
268@code{@var{c-string}}
fb40c209 269
163e6d2d
AC
270@item @var{tuple} @expansion{}
271@code{ "@{@}" | "@{" @var{result} ( "," @var{result} )* "@}" }
272
273@item @var{list} @expansion{}
274@code{ "[]" | "[" @var{value} ( "," @var{value} )* "]" | "["
275@var{result} ( "," @var{result} )* "]" }
276
7162c0ca
EZ
277@item @var{stream-record} @expansion{}
278@code{@var{console-stream-output} | @var{target-stream-output} | @var{log-stream-output}}
fb40c209 279
7162c0ca
EZ
280@item @var{console-stream-output} @expansion{}
281@code{"~" @var{c-string}}
fb40c209 282
7162c0ca
EZ
283@item @var{target-stream-output} @expansion{}
284@code{"@@" @var{c-string}}
fb40c209 285
7162c0ca
EZ
286@item @var{log-stream-output} @expansion{}
287@code{"&" @var{c-string}}
fb40c209 288
7162c0ca
EZ
289@item @var{nl} @expansion{}
290@code{CR | CR-LF}
fb40c209 291
7162c0ca
EZ
292@item @var{token} @expansion{}
293@emph{any sequence of digits}.
fb40c209
AC
294@end table
295
1c85fbd9 296@noindent
7162c0ca 297In addition, the following are still being developed:
fb40c209
AC
298
299@table @code
7162c0ca 300@item @var{query}
fb40c209 301This action is currently undefined.
fb40c209
AC
302@end table
303
1c85fbd9 304@noindent
fb40c209
AC
305Notes:
306
307@itemize @bullet
fb40c209
AC
308@item
309All output sequences end in a single line containing a period.
310
311@item
7162c0ca
EZ
312The @code{@var{token}} is from the corresponding request. If an execution
313command is interrupted by the @samp{-exec-interrupt} command, the
1c85fbd9
EZ
314@var{token} associated with the @samp{*stopped} message is the one of the
315original execution command, not the one of the interrupt command.
fb40c209
AC
316
317@item
7162c0ca
EZ
318@cindex status output in @sc{gdb/mi}
319@var{status-async-output} contains on-going status information about the
320progress of a slow operation. It can be discarded. All status output is
321prefixed by @samp{+}.
fb40c209
AC
322
323@item
7162c0ca
EZ
324@cindex async output in @sc{gdb/mi}
325@var{exec-async-output} contains asynchronous state change on the target
326(stopped, started, disappeared). All async output is prefixed by
327@samp{*}.
fb40c209
AC
328
329@item
7162c0ca
EZ
330@cindex notify output in @sc{gdb/mi}
331@var{notify-async-output} contains supplementary information that the
332client should handle (e.g., a new breakpoint information). All notify
333output is prefixed by @samp{=}.
fb40c209
AC
334
335@item
7162c0ca
EZ
336@cindex console output in @sc{gdb/mi}
337@var{console-stream-output} is output that should be displayed as is in the
338console. It is the textual response to a CLI command. All the console
339output is prefixed by @samp{~}.
fb40c209
AC
340
341@item
7162c0ca
EZ
342@cindex target output in @sc{gdb/mi}
343@var{target-stream-output} is the output produced by the target program.
344All the target output is prefixed by @samp{@@}.
fb40c209
AC
345
346@item
7162c0ca 347@cindex log output in @sc{gdb/mi}
e7997b74 348@var{log-stream-output} is output text coming from @value{GDBN}'s internals, for
fb40c209 349instance messages that should be displayed as part of an error log. All
7162c0ca 350the log output is prefixed by @samp{&}.
163e6d2d
AC
351
352@item
353@cindex list output in @sc{gdb/mi}
354New @sc{gdb/mi} commands should only output @var{lists} containing
355@var{values}.
356
357
fb40c209
AC
358@end itemize
359
7162c0ca
EZ
360@xref{GDB/MI Stream Records, , @sc{gdb/mi} Stream Records}, for more
361details about the various output records.
362
363@node GDB/MI Simple Examples
364@subsection Simple Examples of @sc{gdb/mi} Interaction
365@cindex @sc{gdb/mi}, simple examples
366
367This subsection presents several simple examples of interaction using
368the @sc{gdb/mi} interface. In these examples, @samp{->} means that the
369following line is passed to @sc{gdb/mi} as input, while @samp{<-} means
370the output received from @sc{gdb/mi}.
371
372@subsubheading Target Stop
fb40c209 373
7162c0ca 374Here's an example of stopping the inferior process:
fb40c209
AC
375
376@example
377-> -stop
1c85fbd9 378<- (@value{GDBP})
fb40c209
AC
379@end example
380
7162c0ca
EZ
381@noindent
382and later:
fb40c209
AC
383
384@example
385<- *stop,reason="stop",address="0x123",source="a.c:123"
1c85fbd9 386<- (@value{GDBP})
fb40c209
AC
387@end example
388
7162c0ca 389@subsubheading Simple CLI Command
fb40c209 390
7162c0ca
EZ
391Here's an example of a simple CLI command being passed through
392@sc{gdb/mi} and on to the CLI.
fb40c209
AC
393
394@example
395-> print 1+2
396<- ~3\n
1c85fbd9 397<- (@value{GDBP})
fb40c209
AC
398@end example
399
7162c0ca 400@subsubheading Command With Side Effects
fb40c209
AC
401
402@example
403-> -symbol-file xyz.exe
404<- *breakpoint,nr="3",address="0x123",source="a.c:123"
1c85fbd9 405<- (@value{GDBP})
fb40c209
AC
406@end example
407
7162c0ca 408@subsubheading A Bad Command
fb40c209 409
7162c0ca 410Here's what happens if you pass a non-existent command:
fb40c209
AC
411
412@example
413-> -rubbish
414<- error,"Rubbish not found"
1c85fbd9 415<- (@value{GDBP})
fb40c209
AC
416@end example
417
7162c0ca 418@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8b0ceefc 419@node GDB/MI Compatibility with CLI
7162c0ca 420@section @sc{gdb/mi} Compatibility with CLI
fb40c209 421
7162c0ca
EZ
422@cindex compatibility, @sc{gdb/mi} and CLI
423@cindex @sc{gdb/mi}, compatibility with CLI
e7997b74 424To help users familiar with @value{GDBN}'s existing CLI interface, @sc{gdb/mi}
7162c0ca 425accepts existing CLI commands. As specified by the syntax, such
e7997b74 426commands can be directly entered into the @sc{gdb/mi} interface and @value{GDBN} will
fb40c209
AC
427respond.
428
7162c0ca
EZ
429This mechanism is provided as an aid to developers of @sc{gdb/mi}
430clients and not as a reliable interface into the CLI. Since the command
431is being interpreteted in an environment that assumes @sc{gdb/mi}
432behaviour, the exact output of such commands is likely to end up being
433an un-supported hybrid of @sc{gdb/mi} and CLI output.
fb40c209 434
7162c0ca
EZ
435@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436@node GDB/MI Output Records
437@section @sc{gdb/mi} Output Records
fb40c209 438
7162c0ca
EZ
439@menu
440* GDB/MI Result Records::
441* GDB/MI Stream Records::
442* GDB/MI Out-of-band Records::
443@end menu
fb40c209 444
7162c0ca
EZ
445@node GDB/MI Result Records
446@subsection @sc{gdb/mi} Result Records
fb40c209 447
7162c0ca
EZ
448@cindex result records in @sc{gdb/mi}
449@cindex @sc{gdb/mi}, result records
450In addition to a number of out-of-band notifications, the response to a
451@sc{gdb/mi} command includes one of the following result indications:
fb40c209
AC
452
453@table @code
7162c0ca
EZ
454@findex ^done
455@item "^done" [ "," @var{results} ]
1c85fbd9
EZ
456The synchronous operation was successful, @code{@var{results}} are the return
457values.
fb40c209 458
7162c0ca
EZ
459@item "^running"
460@findex ^running
461@c Is this one correct? Should it be an out-of-band notification?
fb40c209 462The asynchronous operation was successfully started. The target is
7162c0ca 463running.
fb40c209 464
7162c0ca 465@item "^error" "," @var{c-string}
e7997b74 466@findex ^error
7162c0ca 467The operation failed. The @code{@var{c-string}} contains the corresponding
fb40c209 468error message.
fb40c209
AC
469@end table
470
7162c0ca
EZ
471@node GDB/MI Stream Records
472@subsection @sc{gdb/mi} Stream Records
fb40c209 473
7162c0ca
EZ
474@cindex @sc{gdb/mi}, stream records
475@cindex stream records in @sc{gdb/mi}
e7997b74 476@value{GDBN} internally maintains a number of output streams: the console, the
fb40c209 477target, and the log. The output intended for each of these streams is
7162c0ca 478funneled through the @sc{gdb/mi} interface using @dfn{stream records}.
fb40c209 479
7162c0ca
EZ
480Each stream record begins with a unique @dfn{prefix character} which
481identifies its stream (@pxref{GDB/MI Output Syntax, , @sc{gdb/mi} Output
e7997b74 482Syntax}). In addition to the prefix, each stream record contains a
7162c0ca 483@code{@var{string-output}}. This is either raw text (with an implicit new
fb40c209
AC
484line) or a quoted C string (which does not contain an implicit newline).
485
486@table @code
7162c0ca 487@item "~" @var{string-output}
fb40c209
AC
488The console output stream contains text that should be displayed in the
489CLI console window. It contains the textual responses to CLI commands.
490
7162c0ca 491@item "@@" @var{string-output}
fb40c209
AC
492The target output stream contains any textual output from the running
493target.
494
7162c0ca 495@item "&" @var{string-output}
e7997b74 496The log stream contains debugging messages being produced by @value{GDBN}'s
fb40c209 497internals.
fb40c209
AC
498@end table
499
7162c0ca
EZ
500@node GDB/MI Out-of-band Records
501@subsection @sc{gdb/mi} Out-of-band Records
fb40c209 502
7162c0ca
EZ
503@cindex out-of-band records in @sc{gdb/mi}
504@cindex @sc{gdb/mi}, out-of-band records
505@dfn{Out-of-band} records are used to notify the @sc{gdb/mi} client of
506additional changes that have occurred. Those changes can either be a
507consequence of @sc{gdb/mi} (e.g., a breakpoint modified) or a result of
508target activity (e.g., target stopped).
fb40c209
AC
509
510The following is a preliminary list of possible out-of-band records.
511
512@table @code
7162c0ca 513@item "*" "stop"
fb40c209
AC
514@end table
515
516
7162c0ca
EZ
517@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518@node GDB/MI Command Description Format
519@section @sc{gdb/mi} Command Description Format
fb40c209 520
7162c0ca 521The remaining sections describe blocks of commands. Each block of
1c85fbd9 522commands is laid out in a fashion similar to this section.
fb40c209
AC
523
524Note the the line breaks shown in the examples are here only for
1c85fbd9 525readability. They don't appear in the real output.
7162c0ca
EZ
526Also note that the commands with a non-available example (N.A.@:) are
527not yet implemented.
528
529@subheading Motivation
530
e7997b74 531The motivation for this collection of commands.
fb40c209 532
7162c0ca 533@subheading Introduction
fb40c209 534
7162c0ca 535A brief introduction to this collection of commands as a whole.
fb40c209 536
7162c0ca 537@subheading Commands
fb40c209 538
7162c0ca 539For each command in the block, the following is described:
fb40c209 540
7162c0ca 541@subsubheading Synopsis
fb40c209 542
7162c0ca 543@example
e7997b74 544 -command @var{args}@dots{}
7162c0ca 545@end example
fb40c209 546
e7997b74 547@subsubheading @value{GDBN} Command
fb40c209 548
e7997b74 549The corresponding @value{GDBN} CLI command.
fb40c209 550
7162c0ca 551@subsubheading Result
fb40c209 552
7162c0ca 553@subsubheading Out-of-band
fb40c209 554
7162c0ca
EZ
555@subsubheading Notes
556
557@subsubheading Example
fb40c209 558
fb40c209 559
7162c0ca
EZ
560@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
561@node GDB/MI Breakpoint Table Commands
562@section @sc{gdb/mi} Breakpoint table commands
fb40c209 563
7162c0ca
EZ
564@cindex breakpoint commands for @sc{gdb/mi}
565@cindex @sc{gdb/mi}, breakpoint commands
566This section documents @sc{gdb/mi} commands for manipulating
567breakpoints.
568
569@subheading The @code{-break-after} Command
570@findex -break-after
571
572@subsubheading Synopsis
fb40c209 573
fb40c209 574@example
7162c0ca
EZ
575 -break-after @var{number} @var{count}
576@end example
577
578The breakpoint number @var{number} is not in effect until it has been
579hit @var{count} times. To see how this is reflected in the output of
580the @samp{-break-list} command, see the description of the
581@samp{-break-list} command below.
582
e7997b74 583@subsubheading @value{GDBN} Command
7162c0ca 584
e7997b74 585The corresponding @value{GDBN} command is @samp{ignore}.
7162c0ca
EZ
586
587@subsubheading Example
588
589@smallexample
e7997b74 590(@value{GDBP})
fb40c209
AC
591-break-insert main
592^done,bkpt=@{number="1",addr="0x000100d0",file="hello.c",line="5"@}
e7997b74 593(@value{GDBP})
fb40c209
AC
594-break-after 1 3
595~
596^done
e7997b74 597(@value{GDBP})
fb40c209
AC
598-break-list
599^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
600bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
7162c0ca
EZ
601addr="0x000100d0",func="main",file="hello.c",line="5",times="0",
602ignore="3"@}@}
e7997b74 603(@value{GDBP})
7162c0ca
EZ
604@end smallexample
605
606@ignore
607@subheading The @code{-break-catch} Command
608@findex -break-catch
609
610@subheading The @code{-break-commands} Command
611@findex -break-commands
612@end ignore
613
fb40c209 614
1c85fbd9 615@subheading The @code{-break-condition} Command
7162c0ca 616@findex -break-condition
fb40c209 617
7162c0ca 618@subsubheading Synopsis
fb40c209 619
fb40c209 620@example
7162c0ca
EZ
621 -break-condition @var{number} @var{expr}
622@end example
623
624Breakpoint @var{number} will stop the program only if the condition in
625@var{expr} is true. The condition becomes part of the
626@samp{-break-list} output (see the description of the @samp{-break-list}
627command below).
628
e7997b74 629@subsubheading @value{GDBN} Command
7162c0ca 630
e7997b74 631The corresponding @value{GDBN} command is @samp{condition}.
7162c0ca
EZ
632
633@subsubheading Example
634
635@smallexample
e7997b74 636(@value{GDBP})
fb40c209
AC
637-break-condition 1 1
638^done
e7997b74 639(@value{GDBP})
fb40c209
AC
640-break-list
641^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
642bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
7162c0ca
EZ
643addr="0x000100d0",func="main",file="hello.c",line="5",cond="1",
644times="0",ignore="3"@}@}
e7997b74 645(@value{GDBP})
7162c0ca
EZ
646@end smallexample
647
648@subheading The @code{-break-delete} Command
649@findex -break-delete
650
651@subsubheading Synopsis
652
653@example
654 -break-delete ( @var{breakpoint} )+
fb40c209
AC
655@end example
656
7162c0ca 657Delete the breakpoint(s) whose number(s) are specified in the argument
e7997b74 658list. This is obviously reflected in the breakpoint list.
7162c0ca 659
e7997b74 660@subsubheading @value{GDBN} command
7162c0ca 661
e7997b74 662The corresponding @value{GDBN} command is @samp{delete}.
7162c0ca
EZ
663
664@subsubheading Example
665
fb40c209 666@example
e7997b74 667(@value{GDBP})
7162c0ca 668-break-delete 1
fb40c209 669^done
e7997b74 670(@value{GDBP})
fb40c209
AC
671-break-list
672^done,BreakpointTable=@{@}
e7997b74 673(@value{GDBP})
fb40c209
AC
674@end example
675
7162c0ca
EZ
676@subheading The @code{-break-disable} Command
677@findex -break-disable
678
679@subsubheading Synopsis
680
fb40c209 681@example
7162c0ca
EZ
682 -break-disable ( @var{breakpoint} )+
683@end example
684
685Disable the named @var{breakpoint}(s). The field @samp{enabled} in the
686break list is now set to @samp{n} for the named @var{breakpoint}(s).
687
e7997b74 688@subsubheading @value{GDBN} Command
7162c0ca 689
e7997b74 690The corresponding @value{GDBN} command is @samp{disable}.
7162c0ca
EZ
691
692@subsubheading Example
693
694@smallexample
e7997b74 695(@value{GDBP})
fb40c209
AC
696-break-disable 2
697^done
e7997b74 698(@value{GDBP})
fb40c209
AC
699-break-list
700^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
701bkpt=@{number="2",type="breakpoint",disp="keep",enabled="n",
702addr="0x000100d0",func="main",file="hello.c",line="5",times="0"@}@}
e7997b74 703(@value{GDBP})
7162c0ca
EZ
704@end smallexample
705
706@subheading The @code{-break-enable} Command
707@findex -break-enable
708
709@subsubheading Synopsis
fb40c209 710
fb40c209 711@example
7162c0ca
EZ
712 -break-enable ( @var{breakpoint} )+
713@end example
714
715Enable (previously disabled) @var{breakpoint}(s).
716
e7997b74 717@subsubheading @value{GDBN} Command
7162c0ca 718
e7997b74 719The corresponding @value{GDBN} command is @samp{enable}.
7162c0ca
EZ
720
721@subsubheading Example
722
723@smallexample
e7997b74 724(@value{GDBP})
7162c0ca 725-break-enable 2
fb40c209 726^done
e7997b74 727(@value{GDBP})
fb40c209
AC
728-break-list
729^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
730bkpt=@{number="2",type="breakpoint",disp="keep",enabled="y",
731addr="0x000100d0",func="main",file="hello.c",line="5",times="0"@}@}
e7997b74 732(@value{GDBP})
7162c0ca
EZ
733@end smallexample
734
735@subheading The @code{-break-info} Command
736@findex -break-info
737
738@subsubheading Synopsis
739
740@example
741 -break-info @var{breakpoint}
fb40c209
AC
742@end example
743
7162c0ca
EZ
744@c REDUNDANT???
745Get information about a single breakpoint.
746
e7997b74 747@subsubheading @value{GDBN} command
7162c0ca 748
e7997b74 749The corresponding @value{GDBN} command is @samp{info break @var{breakpoint}}.
7162c0ca
EZ
750
751@subsubheading Example
fb40c209
AC
752N.A.
753
7162c0ca
EZ
754@subheading The @code{-break-insert} Command
755@findex -break-insert
756
757@subsubheading Synopsis
758
759@example
760 -break-insert [ -t ] [ -h ] [ -r ]
761 [ -c @var{condition} ] [ -i @var{ignore-count} ]
762 [ -p @var{thread} ] [ @var{line} | @var{addr} ]
763@end example
764
765@noindent
766If specified, @var{line}, can be one of:
fb40c209 767
fb40c209
AC
768@itemize @bullet
769@item function
770@c @item +offset
771@c @item -offset
772@c @item linenum
773@item filename:linenum
774@item filename:function
775@item *address
776@end itemize
777
7162c0ca 778The possible optional parameters of this command are:
fb40c209
AC
779
780@table @samp
781@item -t
782Insert a tempoary breakpoint.
783@item -h
784Insert a hardware breakpoint.
7162c0ca
EZ
785@item -c @var{condition}
786Make the breakpoint conditional on @var{condition}.
787@item -i @var{ignore-count}
788Initialize the @var{ignore-count}.
fb40c209
AC
789@item -r
790Insert a regular breakpoint in all the functions whose names match the
791given regular expression. Other flags are not applicable to regular
792expresson.
793@end table
794
7162c0ca 795@subsubheading Result
fb40c209
AC
796
797The result is in the form:
798
fb40c209 799@example
7162c0ca
EZ
800 ^done,bkptno="@var{number}",func="@var{funcname}",
801 file="@var{filename}",line="@var{lineno}"
802@end example
803
804@noindent
e7997b74 805where @var{number} is the @value{GDBN} number for this breakpoint, @var{funcname}
7162c0ca
EZ
806is the name of the function where the breakpoint was inserted,
807@var{filename} is the name of the source file which contains this
808function, and @var{lineno} is the source line number within that file.
809
810Note: this format is open to change.
811@c An out-of-band breakpoint instead of part of the result?
812
e7997b74 813@subsubheading @value{GDBN} Command
7162c0ca 814
e7997b74 815The corresponding @value{GDBN} commands are @samp{break}, @samp{tbreak},
7162c0ca
EZ
816@samp{hbreak}, @samp{thbreak}, and @samp{rbreak}.
817
818@subsubheading Example
819
820@smallexample
e7997b74 821(@value{GDBP})
fb40c209
AC
822-break-insert main
823^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",line="4"@}
e7997b74 824(@value{GDBP})
fb40c209
AC
825-break-insert -t foo
826^done,bkpt=@{number="2",addr="0x00010774",file="recursive2.c",line="11"@}
e7997b74 827(@value{GDBP})
fb40c209
AC
828-break-list
829^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
7162c0ca
EZ
830bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
831addr="0x0001072c", func="main",file="recursive2.c",line="4",times="0"@},
832bkpt=@{number="2",type="breakpoint",disp="del",enabled="y",
833addr="0x00010774",func="foo",file="recursive2.c",line="11",times="0"@}@}
e7997b74 834(@value{GDBP})
fb40c209
AC
835-break-insert -r foo.*
836~int foo(int, int);
837^done,bkpt=@{number="3",addr="0x00010774",file="recursive2.c",line="11"@}
e7997b74 838(@value{GDBP})
7162c0ca
EZ
839@end smallexample
840
841@subheading The @code{-break-list} Command
842@findex -break-list
843
844@subsubheading Synopsis
845
846@example
847 -break-list
fb40c209
AC
848@end example
849
fb40c209 850Displays the list of inserted breakpoints, showing the following fields:
7162c0ca 851
fb40c209
AC
852@table @samp
853@item Number
7162c0ca 854number of the breakpoint
fb40c209 855@item Type
7162c0ca 856type of the breakpoint: @samp{breakpoint} or @samp{watchpoint}
fb40c209 857@item Disposition
7162c0ca
EZ
858should the breakpoint be deleted or disabled when it is hit: @samp{keep}
859or @samp{nokeep}
fb40c209 860@item Enabled
7162c0ca 861is the breakpoint enabled or no: @samp{y} or @samp{n}
fb40c209 862@item Address
7162c0ca 863memory location at which the breakpoint is set
fb40c209 864@item What
7162c0ca
EZ
865logical location of the breakpoint, expressed by function name, file
866name, line number
e7997b74 867@item Times
7162c0ca 868number of times the breakpoint has been hit
fb40c209
AC
869@end table
870
1c85fbd9
EZ
871If there are no breakpoints or watchpoints, the @code{BreakpointTable}
872field is an empty list.
fb40c209 873
e7997b74 874@subsubheading @value{GDBN} Command
7162c0ca 875
e7997b74 876The corresponding @value{GDBN} command is @samp{info break}.
7162c0ca
EZ
877
878@subsubheading Example
879
880@smallexample
e7997b74 881(@value{GDBP})
fb40c209
AC
882-break-list
883^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
884bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
885addr="0x000100d0",func="main",file="hello.c",line="5",times="0"@},
886bkpt=@{number="2",type="breakpoint",disp="keep",enabled="y",
887addr="0x00010114",func="foo",file="hello.c",line="13",times="0"@}@}
e7997b74 888(@value{GDBP})
7162c0ca
EZ
889@end smallexample
890
891Here's an example of the result when there are no breakpoints:
892
893@smallexample
e7997b74 894(@value{GDBP})
fb40c209
AC
895-break-list
896^done,BreakpointTable=@{@}
e7997b74 897(@value{GDBP})
7162c0ca
EZ
898@end smallexample
899
900@subheading The @code{-break-watch} Command
901@findex -break-watch
902
903@subsubheading Synopsis
904
905@example
906 -break-watch [ -a | -r ]
fb40c209
AC
907@end example
908
7162c0ca 909Create a watchpoint. With the @samp{-a} option it will create an
d68fc559 910@dfn{access} watchpoint, i.e. a watchpoint that triggers either on a
7162c0ca
EZ
911read from or on a write to the memory location. With the @samp{-r}
912option, the watchpoint created is a @dfn{read} watchpoint, i.e. it will
913trigger only when the memory location is accessed for reading. Without
914either of the options, the watchpoint created is a regular watchpoint,
915i.e. it will trigger when the memory location is accessed for writing.
916@xref{Set Watchpoints, , Setting watchpoints}.
fb40c209 917
7162c0ca 918Note that @samp{-break-list} will report a single list of watchpoints and
fb40c209
AC
919breakpoints inserted.
920
e7997b74 921@subsubheading @value{GDBN} Command
fb40c209 922
e7997b74 923The corresponding @value{GDBN} commands are @samp{watch}, @samp{awatch}, and
7162c0ca
EZ
924@samp{rwatch}.
925
926@subsubheading Example
927
928Setting a watchpoint on a variable in the @code{main} function:
929
930@smallexample
e7997b74 931(@value{GDBP})
fb40c209
AC
932-break-watch x
933^done,wpt=@{number="2",exp="x"@}
e7997b74 934(@value{GDBP})
7162c0ca 935-exec-continue
fb40c209
AC
936^running
937^done,reason="watchpoint-trigger",wpt=@{number="2",exp="x"@},
938value=@{old="-268439212",new="55"@},
939frame=@{func="main",args=@{@},file="recursive2.c",line="5"@}
e7997b74 940(@value{GDBP})
7162c0ca
EZ
941@end smallexample
942
e7997b74 943Setting a watchpoint on a variable local to a function. @value{GDBN} will stop
7162c0ca
EZ
944the program execution twice: first for the variable changing value, then
945for the watchpoint going out of scope.
946
947@smallexample
e7997b74 948(@value{GDBP})
fb40c209
AC
949-break-watch C
950^done,wpt=@{number="5",exp="C"@}
e7997b74 951(@value{GDBP})
fb40c209
AC
952-exec-continue
953^running
954^done,reason="watchpoint-trigger",
955wpt=@{number="5",exp="C"@},value=@{old="-276895068",new="3"@},
7162c0ca
EZ
956frame=@{func="callee4",args=@{@},
957file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
e7997b74 958(@value{GDBP})
fb40c209
AC
959-exec-continue
960^running
961^done,reason="watchpoint-scope",wpnum="5",
7162c0ca
EZ
962frame=@{func="callee3",args=@{@{name="strarg",
963value="0x11940 \"A string argument.\""@}@},
fb40c209 964file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
e7997b74 965(@value{GDBP})
7162c0ca 966@end smallexample
fb40c209 967
7162c0ca
EZ
968Listing breakpoints and watchpoints, at different points in the program
969execution. Note that once the watchpoint goes out of scope, it is
970deleted.
971
972@smallexample
e7997b74 973(@value{GDBP})
fb40c209
AC
974-break-watch C
975^done,wpt=@{number="2",exp="C"@}
e7997b74 976(@value{GDBP})
7162c0ca 977-break-list
fb40c209 978^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
7162c0ca
EZ
979bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
980addr="0x00010734",func="callee4",
fb40c209
AC
981file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8",times="1"@},
982bkpt=@{number="2",type="watchpoint",disp="keep",
983enabled="y",addr="",what="C",times="0"@}@}
e7997b74 984(@value{GDBP})
fb40c209
AC
985-exec-continue
986^running
987^done,reason="watchpoint-trigger",wpt=@{number="2",exp="C"@},
988value=@{old="-276895068",new="3"@},
989frame=@{func="callee4",args=@{@},
990file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="13"@}
e7997b74 991(@value{GDBP})
fb40c209
AC
992-break-list
993^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
7162c0ca
EZ
994bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
995addr="0x00010734",func="callee4",
fb40c209
AC
996file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8",times="1"@},
997bkpt=@{number="2",type="watchpoint",disp="keep",
998enabled="y",addr="",what="C",times="-5"@}@}
e7997b74 999(@value{GDBP})
fb40c209
AC
1000-exec-continue
1001^running
1002^done,reason="watchpoint-scope",wpnum="2",
7162c0ca
EZ
1003frame=@{func="callee3",args=@{@{name="strarg",
1004value="0x11940 \"A string argument.\""@}@},
fb40c209 1005file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
e7997b74 1006(@value{GDBP})
fb40c209
AC
1007-break-list
1008^done,BreakpointTable=@{hdr=@{"Num","Type","Disp","Enb","Address","What"@},
7162c0ca
EZ
1009bkpt=@{number="1",type="breakpoint",disp="keep",enabled="y",
1010addr="0x00010734",func="callee4",
fb40c209 1011file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8",times="1"@}@}
e7997b74 1012(@value{GDBP})
7162c0ca
EZ
1013@end smallexample
1014
1015@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1016@node GDB/MI Data Manipulation
1017@section @sc{gdb/mi} Data Manipulation
fb40c209 1018
7162c0ca
EZ
1019@cindex data manipulation, in @sc{gdb/mi}
1020@cindex @sc{gdb/mi}, data manipulation
1021This section describes the @sc{gdb/mi} commands that manipulate data:
1022examine memory and registers, evaluate expressions, etc.
1023
1024@c REMOVED FROM THE INTERFACE.
1025@c @subheading -data-assign
fb40c209 1026@c Change the value of a program variable. Plenty of side effects.
7162c0ca 1027@c @subsubheading GDB command
fb40c209 1028@c set variable
7162c0ca 1029@c @subsubheading Example
fb40c209
AC
1030@c N.A.
1031
7162c0ca
EZ
1032@subheading The @code{-data-disassemble} Command
1033@findex -data-disassemble
1034
1035@subsubheading Synopsis
1036
1037@example
1038 -data-disassemble
1039 [ -s @var{start-addr} -e @var{end-addr} ]
1040 | [ -f @var{filename} -l @var{linenum} [ -n @var{lines} ] ]
1041 -- @var{mode}
1042@end example
1043
1044@noindent
1045Where:
1046
fb40c209 1047@table @samp
7162c0ca
EZ
1048@item @var{start-addr}
1049is the beginning address (or @code{$pc})
1050@item @var{end-addr}
1051is the end address
1052@item @var{filename}
1053is the name of the file to disassemble
1054@item @var{linenum}
1055is the line number to disassemble around
1056@item @var{lines}
1057is the the number of disassembly lines to be produced. If it is -1,
d68fc559 1058the whole function will be disassembled, in case no @var{end-addr} is
7162c0ca 1059specified. If @var{end-addr} is specified as a non-zero value, and
d68fc559 1060@var{lines} is lower than the number of disassembly lines between
7162c0ca
EZ
1061@var{start-addr} and @var{end-addr}, only @var{lines} lines are
1062displayed; if @var{lines} is higher than the number of lines between
1063@var{start-addr} and @var{end-addr}, only the lines up to @var{end-addr}
1064are displayed.
1065@item @var{mode}
1066is either 0 (meaning only disassembly) or 1 (meaning mixed source and
e7997b74 1067disassembly).
fb40c209
AC
1068@end table
1069
7162c0ca
EZ
1070@subsubheading Result
1071
1c85fbd9 1072The output for each instruction is composed of four fields:
7162c0ca 1073
fb40c209
AC
1074@itemize @bullet
1075@item Address
cdffbaa2
EZ
1076@item Func-name
1077@item Offset
fb40c209
AC
1078@item Instruction
1079@end itemize
7162c0ca 1080
cdffbaa2 1081Note that whatever included in the instruction field, is not manipulated
1c85fbd9 1082directely by @sc{gdb/mi}, i.e. it is not possible to adjust its format.
fb40c209 1083
e7997b74 1084@subsubheading @value{GDBN} Command
cdffbaa2 1085
7162c0ca
EZ
1086There's no direct mapping from this command to the CLI.
1087
1088@subsubheading Example
1089
1090Disassemble from the current value of @code{$pc} to @code{$pc + 20}:
1091
1092@smallexample
e7997b74 1093(@value{GDBP})
7162c0ca 1094-data-disassemble -s $pc -e "$pc + 20" -- 0
cdffbaa2 1095^done,
70242e8d 1096asm_insns=[
7162c0ca
EZ
1097@{address="0x000107c0",func-name="main",offset="4",
1098inst="mov 2, %o0"@},
1099@{address="0x000107c4",func-name="main",offset="8",
1100inst="sethi %hi(0x11800), %o2"@},
1101@{address="0x000107c8",func-name="main",offset="12",
1102inst="or %o2, 0x140, %o1\t! 0x11940 <_lib_version+8>"@},
1103@{address="0x000107cc",func-name="main",offset="16",
1104inst="sethi %hi(0x11800), %o2"@},
1105@{address="0x000107d0",func-name="main",offset="20",
70242e8d 1106inst="or %o2, 0x168, %o4\t! 0x11968 <_lib_version+48>"@}]
e7997b74 1107(@value{GDBP})
7162c0ca 1108@end smallexample
fb40c209 1109
7162c0ca
EZ
1110Disassemble the whole @code{main} function. Line 32 is part of
1111@code{main}.
1112
1113@smallexample
cdffbaa2 1114-data-disassemble -f basics.c -l 32 -- 0
70242e8d 1115^done,asm_insns=[
7162c0ca
EZ
1116@{address="0x000107bc",func-name="main",offset="0",
1117inst="save %sp, -112, %sp"@},
1118@{address="0x000107c0",func-name="main",offset="4",
1119inst="mov 2, %o0"@},
1120@{address="0x000107c4",func-name="main",offset="8",
1121inst="sethi %hi(0x11800), %o2"@},
e7997b74 1122[@dots{}]
7162c0ca 1123@{address="0x0001081c",func-name="main",offset="96",inst="ret "@},
70242e8d 1124@{address="0x00010820",func-name="main",offset="100",inst="restore "@}]
e7997b74 1125(@value{GDBP})
7162c0ca 1126@end smallexample
fb40c209 1127
d68fc559 1128Disassemble 3 instructions from the start of @code{main}:
7162c0ca
EZ
1129
1130@smallexample
e7997b74 1131(@value{GDBP})
cdffbaa2 1132-data-disassemble -f basics.c -l 32 -n 3 -- 0
70242e8d 1133^done,asm_insns=[
7162c0ca
EZ
1134@{address="0x000107bc",func-name="main",offset="0",
1135inst="save %sp, -112, %sp"@},
1136@{address="0x000107c0",func-name="main",offset="4",
1137inst="mov 2, %o0"@},
1138@{address="0x000107c4",func-name="main",offset="8",
70242e8d 1139inst="sethi %hi(0x11800), %o2"@}]
e7997b74 1140(@value{GDBP})
7162c0ca 1141@end smallexample
cdffbaa2 1142
d68fc559 1143Disassemble 3 instructions from the start of @code{main} in mixed mode:
7162c0ca
EZ
1144
1145@smallexample
e7997b74 1146(@value{GDBP})
cdffbaa2 1147-data-disassemble -f basics.c -l 32 -n 3 -- 1
70242e8d 1148^done,asm_insns=[
7162c0ca
EZ
1149src_and_asm_line=@{line="31",
1150file="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb/ \
70242e8d 1151 testsuite/gdb.mi/basics.c",line_asm_insn=[
7162c0ca 1152@{address="0x000107bc",func-name="main",offset="0",
70242e8d 1153inst="save %sp, -112, %sp"@}]@},
7162c0ca
EZ
1154src_and_asm_line=@{line="32",
1155file="/kwikemart/marge/ezannoni/flathead-dev/devo/gdb/ \
70242e8d 1156 testsuite/gdb.mi/basics.c",line_asm_insn=[
7162c0ca
EZ
1157@{address="0x000107c0",func-name="main",offset="4",
1158inst="mov 2, %o0"@},
1159@{address="0x000107c4",func-name="main",offset="8",
70242e8d 1160inst="sethi %hi(0x11800), %o2"@}]@}]
e7997b74 1161(@value{GDBP})
7162c0ca
EZ
1162@end smallexample
1163
1164
1165@subheading The @code{-data-evaluate-expression} Command
1166@findex -data-evaluate-expression
1167
1168@subsubheading Synopsis
1169
fb40c209 1170@example
7162c0ca
EZ
1171 -data-evaluate-expression @var{expr}
1172@end example
1173
1174Evaluate @var{expr} as an expression. The expression could contain an
1175inferior function call. The function call will execute synchronously.
1176If the expression contains spaces, it must be enclosed in double quotes.
1177
e7997b74 1178@subsubheading @value{GDBN} Command
7162c0ca 1179
e7997b74 1180The corresponding @value{GDBN} commands are @samp{print}, @samp{output}, and
d68fc559 1181@samp{call}. In @code{gdbtk} only, there's a corresponding
7162c0ca
EZ
1182@samp{gdb_eval} command.
1183
1184@subsubheading Example
1185
1186In the following example, the numbers that precede the commands are the
e7997b74 1187@dfn{tokens} described in @ref{GDB/MI Command Syntax, ,@sc{gdb/mi}
7162c0ca
EZ
1188Command Syntax}. Notice how @sc{gdb/mi} returns the same tokens in its
1189output.
1190
1191@smallexample
fb40c209
AC
1192211-data-evaluate-expression A
1193211^done,value="1"
e7997b74 1194(@value{GDBP})
fb40c209
AC
1195311-data-evaluate-expression &A
1196311^done,value="0xefffeb7c"
e7997b74 1197(@value{GDBP})
fb40c209
AC
1198411-data-evaluate-expression A+3
1199411^done,value="4"
e7997b74 1200(@value{GDBP})
fb40c209
AC
1201511-data-evaluate-expression "A + 3"
1202511^done,value="4"
e7997b74 1203(@value{GDBP})
7162c0ca 1204@end smallexample
fb40c209 1205
7162c0ca
EZ
1206
1207@subheading The @code{-data-list-changed-registers} Command
1208@findex -data-list-changed-registers
1209
1210@subsubheading Synopsis
1211
1212@example
1213 -data-list-changed-registers
1214@end example
1215
1216Display a list of the registers that have changed.
1217
e7997b74 1218@subsubheading @value{GDBN} Command
7162c0ca 1219
e7997b74
EZ
1220@value{GDBN} doesn't have a direct analog for this command; @code{gdbtk}
1221has the corresponding command @samp{gdb_changed_register_list}.
7162c0ca
EZ
1222
1223@subsubheading Example
1224
1225On a PPC MBX board:
1226
1227@smallexample
e7997b74 1228(@value{GDBP})
7162c0ca 1229-exec-continue
fb40c209
AC
1230^running
1231
e7997b74 1232(@value{GDBP})
fb40c209
AC
1233*stopped,reason="breakpoint-hit",bkptno="1",frame=@{func="main",
1234args=@{@},file="try.c",line="5"@}
e7997b74 1235(@value{GDBP})
fb40c209
AC
1236-data-list-changed-registers
1237^done,changed-registers=@{"0","1","2","4","5","6","7","8","9",
1238"10","11","13","14","15","16","17","18","19","20","21","22","23",
1239"24","25","26","27","28","30","31","64","65","66","67","69"@}
e7997b74 1240(@value{GDBP})
7162c0ca
EZ
1241@end smallexample
1242
1243
1244@subheading The @code{-data-list-register-names} Command
1245@findex -data-list-register-names
1246
1247@subsubheading Synopsis
1248
1249@example
1250 -data-list-register-names [ ( @var{regno} )+ ]
fb40c209
AC
1251@end example
1252
fb40c209
AC
1253Show a list of register names for the current target. If no arguments
1254are given, it shows a list of the names of all the registers. If
1255integer numbers are given as arguments, it will print a list of the
7162c0ca
EZ
1256names of the registers corresponding to the arguments.
1257
e7997b74 1258@subsubheading @value{GDBN} Command
7162c0ca 1259
e7997b74 1260@value{GDBN} does not have a command which corresponds to
7162c0ca
EZ
1261@samp{-data-list-register-names}. In @code{gdbtk} there is a
1262corresponding command @samp{gdb_regnames}.
1263
1264@subsubheading Example
1265
fb40c209 1266For the PPC MBX board:
7162c0ca 1267@smallexample
e7997b74 1268(@value{GDBP})
fb40c209
AC
1269-data-list-register-names
1270^done,register-names=@{"r0","r1","r2","r3","r4","r5","r6","r7",
1271"r8","r9","r10","r11","r12","r13","r14","r15","r16","r17","r18",
1272"r19","r20","r21","r22","r23","r24","r25","r26","r27","r28","r29",
1273"r30","r31","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9",
1274"f10","f11","f12","f13","f14","f15","f16","f17","f18","f19","f20",
1275"f21","f22","f23","f24","f25","f26","f27","f28","f29","f30","f31",
1276"pc","ps","cr","lr","ctr","xer"@}
e7997b74 1277(@value{GDBP})
fb40c209
AC
1278-data-list-register-names 1 2 3
1279^done,register-names=@{"r1","r2","r3"@}
e7997b74 1280(@value{GDBP})
7162c0ca 1281@end smallexample
fb40c209 1282
7162c0ca
EZ
1283@subheading The @code{-data-list-register-values} Command
1284@findex -data-list-register-values
1285
1286@subsubheading Synopsis
fb40c209 1287
fb40c209 1288@example
7162c0ca
EZ
1289 -data-list-register-values @var{fmt} [ ( @var{regno} )*]
1290@end example
1291
d68fc559
EZ
1292Display the registers' contents. @var{fmt} is the format according to
1293which the registers' contents are to be returned, followed by an optional
7162c0ca
EZ
1294list of numbers specifying the registers to display. A missing list of
1295numbers indicates that the contents of all the registers must be returned.
1296
1297Allowed formats for @var{fmt} are:
1298
1299@table @code
1300@item x
1301Hexadecimal
1302@item o
1303Octal
1304@item t
1305Binary
1306@item d
1307Decimal
1308@item r
1309Raw
1310@item N
1311Natural
1312@end table
1313
e7997b74 1314@subsubheading @value{GDBN} Command
7162c0ca 1315
e7997b74
EZ
1316The corresponding @value{GDBN} commands are @samp{info reg}, @samp{info
1317all-reg}, and (in @code{gdbtk}) @samp{gdb_fetch_registers}.
7162c0ca
EZ
1318
1319@subsubheading Example
1320
1321For a PPC MBX board (note: line breaks are for readability only, they
1322don't appear in the actual output):
1323
1324@smallexample
e7997b74 1325(@value{GDBP})
fb40c209
AC
1326-data-list-register-values r 64 65
1327^done,register-values=@{@{number="64",value="0xfe00a300"@},
1328@{number="65",value="0x00029002"@}@}
e7997b74 1329(@value{GDBP})
fb40c209
AC
1330-data-list-register-values x
1331^done,register-values=@{@{number="0",value="0xfe0043c8"@},
1332@{number="1",value="0x3fff88"@},@{number="2",value="0xfffffffe"@},
1333@{number="3",value="0x0"@},@{number="4",value="0xa"@},
1334@{number="5",value="0x3fff68"@},@{number="6",value="0x3fff58"@},
1335@{number="7",value="0xfe011e98"@},@{number="8",value="0x2"@},
1336@{number="9",value="0xfa202820"@},@{number="10",value="0xfa202808"@},
1337@{number="11",value="0x1"@},@{number="12",value="0x0"@},
1338@{number="13",value="0x4544"@},@{number="14",value="0xffdfffff"@},
1339@{number="15",value="0xffffffff"@},@{number="16",value="0xfffffeff"@},
1340@{number="17",value="0xefffffed"@},@{number="18",value="0xfffffffe"@},
1341@{number="19",value="0xffffffff"@},@{number="20",value="0xffffffff"@},
1342@{number="21",value="0xffffffff"@},@{number="22",value="0xfffffff7"@},
1343@{number="23",value="0xffffffff"@},@{number="24",value="0xffffffff"@},
1344@{number="25",value="0xffffffff"@},@{number="26",value="0xfffffffb"@},
1345@{number="27",value="0xffffffff"@},@{number="28",value="0xf7bfffff"@},
1346@{number="29",value="0x0"@},@{number="30",value="0xfe010000"@},
1347@{number="31",value="0x0"@},@{number="32",value="0x0"@},
1348@{number="33",value="0x0"@},@{number="34",value="0x0"@},
1349@{number="35",value="0x0"@},@{number="36",value="0x0"@},
1350@{number="37",value="0x0"@},@{number="38",value="0x0"@},
1351@{number="39",value="0x0"@},@{number="40",value="0x0"@},
1352@{number="41",value="0x0"@},@{number="42",value="0x0"@},
1353@{number="43",value="0x0"@},@{number="44",value="0x0"@},
1354@{number="45",value="0x0"@},@{number="46",value="0x0"@},
1355@{number="47",value="0x0"@},@{number="48",value="0x0"@},
1356@{number="49",value="0x0"@},@{number="50",value="0x0"@},
1357@{number="51",value="0x0"@},@{number="52",value="0x0"@},
1358@{number="53",value="0x0"@},@{number="54",value="0x0"@},
1359@{number="55",value="0x0"@},@{number="56",value="0x0"@},
1360@{number="57",value="0x0"@},@{number="58",value="0x0"@},
1361@{number="59",value="0x0"@},@{number="60",value="0x0"@},
1362@{number="61",value="0x0"@},@{number="62",value="0x0"@},
1363@{number="63",value="0x0"@},@{number="64",value="0xfe00a300"@},
1364@{number="65",value="0x29002"@},@{number="66",value="0x202f04b5"@},
1365@{number="67",value="0xfe0043b0"@},@{number="68",value="0xfe00b3e4"@},
1366@{number="69",value="0x20002b03"@}@}
e7997b74 1367(@value{GDBP})
7162c0ca
EZ
1368@end smallexample
1369
1370
1371@subheading The @code{-data-read-memory} Command
1372@findex -data-read-memory
1373
1374@subsubheading Synopsis
1375
1376@example
1377 -data-read-memory [ -o @var{byte-offset} ]
1378 @var{address} @var{word-format} @var{word-size}
1379 @var{nr-rows} @var{nr-cols} [ @var{aschar} ]
fb40c209
AC
1380@end example
1381
7162c0ca
EZ
1382@noindent
1383where:
1384
fb40c209 1385@table @samp
7162c0ca 1386@item @var{address}
fb40c209
AC
1387An expression specifying the address of the first memory word to be
1388read. Complex expressions containing embedded white space should be
1389quoted using the C convention.
7162c0ca
EZ
1390
1391@item @var{word-format}
fb40c209 1392The format to be used to print the memory words. The notation is the
e7997b74
EZ
1393same as for @value{GDBN}'s @code{print} command (@pxref{Output Formats,
1394,Output formats}).
7162c0ca
EZ
1395
1396@item @var{word-size}
fb40c209 1397The size of each memory word in bytes.
7162c0ca
EZ
1398
1399@item @var{nr-rows}
fb40c209 1400The number of rows in the output table.
7162c0ca
EZ
1401
1402@item @var{nr-cols}
fb40c209 1403The number of columns in the output table.
7162c0ca
EZ
1404
1405@item @var{aschar}
1406If present, indicates that each row should include an @sc{ascii} dump. The
1407value of @var{aschar} is used as a padding character when a byte is not a
1408member of the printable @sc{ascii} character set (printable @sc{ascii}
1409characters are those whose code is between 32 and 126, inclusively).
1410
1411@item @var{byte-offset}
1412An offset to add to the @var{address} before fetching memory.
fb40c209 1413@end table
7162c0ca
EZ
1414
1415This command displays memory contents as a table of @var{nr-rows} by
1416@var{nr-cols} words, each word being @var{word-size} bytes. In total,
1417@code{@var{nr-rows} * @var{nr-cols} * @var{word-size}} bytes are read
d68fc559 1418(returned as @samp{total-bytes}). Should less then the requested number
7162c0ca 1419of bytes be returned by the target, the missing words are identified
d68fc559 1420using @samp{N/A}. The number of bytes read from the target is returned
7162c0ca
EZ
1421in @samp{nr-bytes} and the starting address used to read memory in
1422@samp{addr}.
fb40c209 1423
1c85fbd9 1424The address of the next/previous row or page is available in
7162c0ca
EZ
1425@samp{next-row} and @samp{prev-row}, @samp{next-page} and
1426@samp{prev-page}.
1427
e7997b74 1428@subsubheading @value{GDBN} Command
7162c0ca 1429
e7997b74
EZ
1430The corresponding @value{GDBN} command is @samp{x}. @code{gdbtk} has
1431@samp{gdb_get_mem} memory read command.
7162c0ca
EZ
1432
1433@subsubheading Example
1434
fb40c209 1435Read six bytes of memory starting at @code{bytes+6} but then offset by
e7997b74 1436@code{-6} bytes. Format as three rows of two columns. One byte per
fb40c209 1437word. Display each word in hex.
7162c0ca
EZ
1438
1439@smallexample
e7997b74 1440(@value{GDBP})
fb40c209
AC
14419-data-read-memory -o -6 -- bytes+6 x 1 3 2
14429^done,addr="0x00001390",nr-bytes="6",total-bytes="6",
1443next-row="0x00001396",prev-row="0x0000138e",next-page="0x00001396",
1444prev-page="0x0000138a",memory=@{
1445@{addr="0x00001390",data=@{"0x00","0x01"@}@},
1446@{addr="0x00001392",data=@{"0x02","0x03"@}@},
1447@{addr="0x00001394",data=@{"0x04","0x05"@}@}@}
e7997b74 1448(@value{GDBP})
7162c0ca
EZ
1449@end smallexample
1450
fb40c209
AC
1451Read two bytes of memory starting at address @code{shorts + 64} and
1452display as a single word formatted in decimal.
7162c0ca
EZ
1453
1454@smallexample
e7997b74 1455(@value{GDBP})
fb40c209
AC
14565-data-read-memory shorts+64 d 2 1 1
14575^done,addr="0x00001510",nr-bytes="2",total-bytes="2",
1458next-row="0x00001512",prev-row="0x0000150e",
1459next-page="0x00001512",prev-page="0x0000150e",memory=@{
1460@{addr="0x00001510",data=@{"128"@}@}@}
e7997b74 1461(@value{GDBP})
7162c0ca
EZ
1462@end smallexample
1463
fb40c209 1464Read thirty two bytes of memory starting at @code{bytes+16} and format
1c85fbd9 1465as eight rows of four columns. Include a string encoding with @samp{x}
fb40c209 1466used as the non-printable character.
7162c0ca
EZ
1467
1468@smallexample
e7997b74 1469(@value{GDBP})
fb40c209
AC
14704-data-read-memory bytes+16 x 1 8 4 x
14714^done,addr="0x000013a0",nr-bytes="32",total-bytes="32",
1472next-row="0x000013c0",prev-row="0x0000139c",
1473next-page="0x000013c0",prev-page="0x00001380",memory=@{
1474@{addr="0x000013a0",data=@{"0x10","0x11","0x12","0x13"@},ascii="xxxx"@},
1475@{addr="0x000013a4",data=@{"0x14","0x15","0x16","0x17"@},ascii="xxxx"@},
1476@{addr="0x000013a8",data=@{"0x18","0x19","0x1a","0x1b"@},ascii="xxxx"@},
1477@{addr="0x000013ac",data=@{"0x1c","0x1d","0x1e","0x1f"@},ascii="xxxx"@},
1478@{addr="0x000013b0",data=@{"0x20","0x21","0x22","0x23"@},ascii=" !\"#"@},
1479@{addr="0x000013b4",data=@{"0x24","0x25","0x26","0x27"@},ascii="$%&'"@},
1480@{addr="0x000013b8",data=@{"0x28","0x29","0x2a","0x2b"@},ascii="()*+"@},
1481@{addr="0x000013bc",data=@{"0x2c","0x2d","0x2e","0x2f"@},ascii=",-./"@}@}
e7997b74 1482(@value{GDBP})
7162c0ca
EZ
1483@end smallexample
1484
1485@subheading The @code{-display-delete} Command
1486@findex -display-delete
1487
1488@subsubheading Synopsis
1489
1490@example
1491 -display-delete @var{number}
fb40c209
AC
1492@end example
1493
7162c0ca
EZ
1494Delete the display @var{number}.
1495
e7997b74 1496@subsubheading @value{GDBN} Command
7162c0ca 1497
e7997b74 1498The corresponding @value{GDBN} command is @samp{delete display}.
7162c0ca
EZ
1499
1500@subsubheading Example
fb40c209
AC
1501N.A.
1502
7162c0ca
EZ
1503
1504@subheading The @code{-display-disable} Command
1505@findex -display-disable
1506
1507@subsubheading Synopsis
1508
1509@example
1510 -display-disable @var{number}
1511@end example
1512
1513Disable display @var{number}.
1514
e7997b74 1515@subsubheading @value{GDBN} Command
7162c0ca 1516
e7997b74 1517The corresponding @value{GDBN} command is @samp{disable display}.
7162c0ca
EZ
1518
1519@subsubheading Example
fb40c209
AC
1520N.A.
1521
7162c0ca
EZ
1522
1523@subheading The @code{-display-enable} Command
1524@findex -display-enable
1525
1526@subsubheading Synopsis
1527
1528@example
1529 -display-enable @var{number}
1530@end example
1531
1532Enable display @var{number}.
1533
e7997b74 1534@subsubheading @value{GDBN} Command
7162c0ca 1535
e7997b74 1536The corresponding @value{GDBN} command is @samp{enable display}.
7162c0ca
EZ
1537
1538@subsubheading Example
fb40c209
AC
1539N.A.
1540
7162c0ca
EZ
1541
1542@subheading The @code{-display-insert} Command
1543@findex -display-insert
1544
1545@subsubheading Synopsis
1546
1547@example
1548 -display-insert @var{expression}
1549@end example
1550
1551Display @var{expression} every time the program stops.
1552
e7997b74 1553@subsubheading @value{GDBN} Command
7162c0ca 1554
e7997b74 1555The corresponding @value{GDBN} command is @samp{display}.
7162c0ca
EZ
1556
1557@subsubheading Example
fb40c209
AC
1558N.A.
1559
7162c0ca
EZ
1560
1561@subheading The @code{-display-list} Command
1562@findex -display-list
1563
1564@subsubheading Synopsis
1565
1566@example
1567 -display-list
1568@end example
1569
1570List the displays. Do not show the current values.
1571
e7997b74 1572@subsubheading @value{GDBN} Command
7162c0ca 1573
e7997b74 1574The corresponding @value{GDBN} command is @samp{info display}.
7162c0ca
EZ
1575
1576@subsubheading Example
fb40c209
AC
1577N.A.
1578
7162c0ca
EZ
1579
1580@subheading The @code{-environment-cd} Command
1581@findex -environment-cd
1582
1583@subsubheading Synopsis
1584
fb40c209 1585@example
7162c0ca
EZ
1586 -environment-cd @var{pathdir}
1587@end example
1588
e7997b74 1589Set @value{GDBN}'s working directory.
7162c0ca 1590
e7997b74 1591@subsubheading @value{GDBN} Command
7162c0ca 1592
e7997b74 1593The corresponding @value{GDBN} command is @samp{cd}.
7162c0ca
EZ
1594
1595@subsubheading Example
1596
1597@smallexample
e7997b74 1598(@value{GDBP})
fb40c209
AC
1599-environment-cd /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
1600^done
e7997b74 1601(@value{GDBP})
7162c0ca
EZ
1602@end smallexample
1603
1604
1605@subheading The @code{-environment-directory} Command
1606@findex -environment-directory
1607
1608@subsubheading Synopsis
fb40c209 1609
fb40c209 1610@example
7162c0ca
EZ
1611 -environment-directory @var{pathdir}
1612@end example
1613
1614Add directory @var{pathdir} to beginning of search path for source files.
1615
e7997b74 1616@subsubheading @value{GDBN} Command
7162c0ca 1617
e7997b74 1618The corresponding @value{GDBN} command is @samp{dir}.
7162c0ca
EZ
1619
1620@subsubheading Example
1621
1622@smallexample
e7997b74 1623(@value{GDBP})
fb40c209
AC
1624-environment-directory /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
1625^done
e7997b74 1626(@value{GDBP})
7162c0ca
EZ
1627@end smallexample
1628
1629
1630@subheading The @code{-environment-path} Command
1631@findex -environment-path
1632
1633@subsubheading Synopsis
fb40c209 1634
fb40c209 1635@example
7162c0ca
EZ
1636 -environment-path ( @var{pathdir} )+
1637@end example
1638
1c85fbd9 1639Add directories @var{pathdir} to beginning of search path for object files.
7162c0ca 1640
e7997b74 1641@subsubheading @value{GDBN} Command
7162c0ca 1642
e7997b74 1643The corresponding @value{GDBN} command is @samp{path}.
7162c0ca
EZ
1644
1645@subsubheading Example
1646
1647@smallexample
e7997b74 1648(@value{GDBP})
fb40c209
AC
1649-environment-path /kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb
1650^done
e7997b74 1651(@value{GDBP})
7162c0ca
EZ
1652@end smallexample
1653
1654
1655@subheading The @code{-environment-pwd} Command
1656@findex -environment-pwd
1657
1658@subsubheading Synopsis
fb40c209 1659
fb40c209 1660@example
7162c0ca
EZ
1661 -environment-pwd
1662@end example
1663
1664Show the current working directory.
1665
e7997b74 1666@subsubheading @value{GDBN} command
7162c0ca 1667
e7997b74 1668The corresponding @value{GDBN} command is @samp{pwd}.
7162c0ca
EZ
1669
1670@subsubheading Example
1671
1672@smallexample
e7997b74 1673(@value{GDBP})
fb40c209
AC
1674-environment-pwd
1675~Working directory /kwikemart/marge/ezannoni/flathead-dev/devo/gdb.
1676^done
e7997b74 1677(@value{GDBP})
7162c0ca 1678@end smallexample
fb40c209 1679
7162c0ca
EZ
1680@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1681@node GDB/MI Program Control
1682@section @sc{gdb/mi} Program control
1683
1684@subsubheading Program termination
fb40c209 1685
fb40c209 1686As a result of execution, the inferior program can run to completion, if
e7997b74 1687it doesn't encounter any breakpoints. In this case the output will
fb40c209 1688include an exit code, if the program has exited exceptionally.
7162c0ca 1689
1c85fbd9 1690@subsubheading Examples
7162c0ca
EZ
1691
1692@noindent
fb40c209 1693Program exited normally:
7162c0ca
EZ
1694
1695@smallexample
e7997b74 1696(@value{GDBP})
fb40c209
AC
1697-exec-run
1698^running
e7997b74 1699(@value{GDBP})
fb40c209
AC
1700x = 55
1701*stopped,reason="exited-normally"
e7997b74 1702(@value{GDBP})
7162c0ca 1703@end smallexample
fb40c209 1704
7162c0ca 1705@noindent
fb40c209 1706Program exited exceptionally:
7162c0ca
EZ
1707
1708@smallexample
e7997b74 1709(@value{GDBP})
fb40c209
AC
1710-exec-run
1711^running
e7997b74 1712(@value{GDBP})
fb40c209
AC
1713x = 55
1714*stopped,reason="exited",exit-code="01"
e7997b74 1715(@value{GDBP})
7162c0ca
EZ
1716@end smallexample
1717
1718Another way the program can terminate is if it receives a signal such as
1719@code{SIGINT}. In this case, @sc{gdb/mi} displays this:
1720
1721@smallexample
e7997b74 1722(@value{GDBP})
7162c0ca
EZ
1723*stopped,reason="exited-signalled",signal-name="SIGINT",
1724signal-meaning="Interrupt"
1725@end smallexample
1726
1727
1728@subheading The @code{-exec-abort} Command
1729@findex -exec-abort
1730
1731@subsubheading Synopsis
fb40c209 1732
fb40c209 1733@example
7162c0ca 1734 -exec-abort
fb40c209
AC
1735@end example
1736
fb40c209
AC
1737Kill the inferior running program.
1738
e7997b74 1739@subsubheading @value{GDBN} Command
7162c0ca 1740
e7997b74 1741The corresponding @value{GDBN} command is @samp{kill}.
fb40c209 1742
7162c0ca 1743@subsubheading Example
fb40c209
AC
1744N.A.
1745
fb40c209 1746
7162c0ca
EZ
1747@subheading The @code{-exec-arguments} Command
1748@findex -exec-arguments
fb40c209 1749
7162c0ca
EZ
1750@subsubheading Synopsis
1751
1752@example
1753 -exec-arguments @var{args}
1754@end example
1755
1756Set the inferior program arguments, to be used in the next
1757@samp{-exec-run}.
1758
e7997b74 1759@subsubheading @value{GDBN} Command
7162c0ca 1760
e7997b74 1761The corresponding @value{GDBN} command is @samp{set args}.
7162c0ca
EZ
1762
1763@subsubheading Example
1764
1765@c FIXME!
1766Don't have one around.
fb40c209 1767
fb40c209 1768
7162c0ca
EZ
1769@subheading The @code{-exec-continue} Command
1770@findex -exec-continue
1771
1772@subsubheading Synopsis
fb40c209 1773
fb40c209 1774@example
7162c0ca
EZ
1775 -exec-continue
1776@end example
1777
1778Asynchronous command. Resumes the execution of the inferior program
1779until a breakpoint is encountered, or until the inferior exits.
1780
e7997b74 1781@subsubheading @value{GDBN} Command
7162c0ca 1782
e7997b74 1783The corresponding @value{GDBN} corresponding is @samp{continue}.
7162c0ca
EZ
1784
1785@subsubheading Example
1786
1787@smallexample
fb40c209
AC
1788-exec-continue
1789^running
e7997b74 1790(@value{GDBP})
fb40c209
AC
1791@@Hello world
1792*stopped,reason="breakpoint-hit",bkptno="2",frame=@{func="foo",args=@{@},
1793file="hello.c",line="13"@}
e7997b74 1794(@value{GDBP})
7162c0ca
EZ
1795@end smallexample
1796
fb40c209 1797
7162c0ca
EZ
1798@subheading The @code{-exec-finish} Command
1799@findex -exec-finish
fb40c209 1800
7162c0ca 1801@subsubheading Synopsis
fb40c209 1802
fb40c209 1803@example
7162c0ca
EZ
1804 -exec-finish
1805@end example
1806
1807Asynchronous command. Resumes the execution of the inferior program
1808until the current function is exited. Displays the results returned by
1809the function.
1810
e7997b74 1811@subsubheading @value{GDBN} Command
7162c0ca 1812
e7997b74 1813The corresponding @value{GDBN} command is @samp{finish}.
7162c0ca
EZ
1814
1815@subsubheading Example
1816
1817Function returning @code{void}.
1818
1819@smallexample
fb40c209
AC
1820-exec-finish
1821^running
e7997b74 1822(@value{GDBP})
fb40c209
AC
1823@@hello from foo
1824*stopped,reason="function-finished",frame=@{func="main",args=@{@},
1825file="hello.c",line="7"@}
e7997b74 1826(@value{GDBP})
7162c0ca
EZ
1827@end smallexample
1828
e7997b74
EZ
1829Function returning other than @code{void}. The name of the internal
1830@value{GDBN} variable storing the result is printed, together with the
1831value itself.
7162c0ca
EZ
1832
1833@smallexample
fb40c209
AC
1834-exec-finish
1835^running
e7997b74 1836(@value{GDBP})
fb40c209 1837*stopped,reason="function-finished",frame=@{addr="0x000107b0",func="foo",
7162c0ca
EZ
1838args=@{@{name="a",value="1"@},@{name="b",value="9"@}@},
1839file="recursive2.c",line="14"@},
fb40c209 1840gdb-result-var="$1",return-value="0"
e7997b74 1841(@value{GDBP})
7162c0ca
EZ
1842@end smallexample
1843
1844
1845@subheading The @code{-exec-interrupt} Command
1846@findex -exec-interrupt
1847
1848@subsubheading Synopsis
fb40c209 1849
7162c0ca
EZ
1850@example
1851 -exec-interrupt
fb40c209 1852@end example
7162c0ca 1853
e7997b74 1854Asynchronous command. Interrupts the background execution of the target.
fb40c209 1855Note how the token associated with the stop message is the one for the
7162c0ca 1856execution command that has been interrupted. The token for the interrupt
e7997b74 1857itself only appears in the @samp{^done} output. If the user is trying to
7162c0ca 1858interrupt a non-running program, an error message will be printed.
fb40c209 1859
e7997b74 1860@subsubheading @value{GDBN} Command
7162c0ca 1861
e7997b74 1862The corresponding @value{GDBN} command is @samp{interrupt}.
7162c0ca
EZ
1863
1864@subsubheading Example
1865
1866@smallexample
e7997b74 1867(@value{GDBP})
fb40c209
AC
1868111-exec-continue
1869111^running
1870
e7997b74 1871(@value{GDBP})
fb40c209
AC
1872222-exec-interrupt
1873222^done
e7997b74 1874(@value{GDBP})
fb40c209
AC
1875111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
1876frame=@{addr="0x00010140",func="foo",args=@{@},file="try.c",line="13"@}
e7997b74 1877(@value{GDBP})
fb40c209 1878
e7997b74 1879(@value{GDBP})
fb40c209
AC
1880-exec-interrupt
1881^error,msg="mi_cmd_exec_interrupt: Inferior not executing."
e7997b74 1882(@value{GDBP})
7162c0ca 1883@end smallexample
fb40c209 1884
7162c0ca
EZ
1885
1886@subheading The @code{-exec-next} Command
1887@findex -exec-next
1888
1889@subsubheading Synopsis
1890
1891@example
1892 -exec-next
fb40c209
AC
1893@end example
1894
7162c0ca 1895Asynchronous command. Resumes execution of the inferior program, stopping
fb40c209
AC
1896when the beginning of the next source line is reached.
1897
e7997b74 1898@subsubheading @value{GDBN} Command
fb40c209 1899
e7997b74 1900The corresponding @value{GDBN} command is @samp{next}.
7162c0ca
EZ
1901
1902@subsubheading Example
1903
1904@smallexample
fb40c209
AC
1905-exec-next
1906^running
e7997b74 1907(@value{GDBP})
fb40c209 1908*stopped,reason="end-stepping-range",line="8",file="hello.c"
e7997b74 1909(@value{GDBP})
7162c0ca
EZ
1910@end smallexample
1911
1912
1913@subheading The @code{-exec-next-instruction} Command
1914@findex -exec-next-instruction
1915
1916@subsubheading Synopsis
1917
1918@example
1919 -exec-next-instruction
fb40c209
AC
1920@end example
1921
7162c0ca 1922Asynchronous command. Executes one machine instruction. If the
fb40c209
AC
1923instruction is a function call continues until the function returns. If
1924the program stops at an instruction in the middle of a source line, the
1925address will be printed as well.
fb40c209 1926
e7997b74 1927@subsubheading @value{GDBN} Command
7162c0ca 1928
e7997b74 1929The corresponding @value{GDBN} command is @samp{nexti}.
7162c0ca
EZ
1930
1931@subsubheading Example
1932
1933@smallexample
e7997b74 1934(@value{GDBP})
7162c0ca 1935-exec-next-instruction
fb40c209
AC
1936^running
1937
e7997b74 1938(@value{GDBP})
fb40c209
AC
1939*stopped,reason="end-stepping-range",
1940addr="0x000100d4",line="5",file="hello.c"
e7997b74 1941(@value{GDBP})
7162c0ca
EZ
1942@end smallexample
1943
fb40c209 1944
7162c0ca
EZ
1945@subheading The @code{-exec-return} Command
1946@findex -exec-return
fb40c209 1947
7162c0ca 1948@subsubheading Synopsis
fb40c209 1949
fb40c209 1950@example
7162c0ca
EZ
1951 -exec-return
1952@end example
1953
1954Makes current function return immediately. Doesn't execute the inferior.
1955Displays the new current frame.
1956
e7997b74 1957@subsubheading @value{GDBN} Command
7162c0ca 1958
e7997b74 1959The corresponding @value{GDBN} command is @samp{return}.
7162c0ca
EZ
1960
1961@subsubheading Example
1962
1963@smallexample
e7997b74 1964(@value{GDBP})
fb40c209
AC
1965200-break-insert callee4
1966200^done,bkpt=@{number="1",addr="0x00010734",
1967file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
e7997b74 1968(@value{GDBP})
7162c0ca 1969000-exec-run
fb40c209 1970000^running
e7997b74 1971(@value{GDBP})
fb40c209
AC
1972000*stopped,reason="breakpoint-hit",bkptno="1",
1973frame=@{func="callee4",args=@{@},
1974file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@}
e7997b74 1975(@value{GDBP})
fb40c209
AC
1976205-break-delete
1977205^done
e7997b74 1978(@value{GDBP})
fb40c209
AC
1979111-exec-return
1980111^done,frame=@{level="0 ",func="callee3",
7162c0ca
EZ
1981args=@{@{name="strarg",
1982value="0x11940 \"A string argument.\""@}@},
fb40c209 1983file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="18"@}
e7997b74 1984(@value{GDBP})
7162c0ca
EZ
1985@end smallexample
1986
1987
1988@subheading The @code{-exec-run} Command
1989@findex -exec-run
1990
1991@subsubheading Synopsis
1992
1993@example
1994 -exec-run
fb40c209
AC
1995@end example
1996
7162c0ca
EZ
1997Asynchronous command. Starts execution of the inferior from the
1998beginning. The inferior executes until either a breakpoint is
fb40c209
AC
1999encountered or the program exits.
2000
e7997b74 2001@subsubheading @value{GDBN} Command
fb40c209 2002
e7997b74 2003The corresponding @value{GDBN} command is @samp{run}.
7162c0ca
EZ
2004
2005@subsubheading Example
2006
2007@smallexample
e7997b74 2008(@value{GDBP})
fb40c209
AC
2009-break-insert main
2010^done,bkpt=@{number="1",addr="0x0001072c",file="recursive2.c",line="4"@}
e7997b74 2011(@value{GDBP})
fb40c209
AC
2012-exec-run
2013^running
e7997b74 2014(@value{GDBP})
fb40c209
AC
2015*stopped,reason="breakpoint-hit",bkptno="1",
2016frame=@{func="main",args=@{@},file="recursive2.c",line="4"@}
e7997b74 2017(@value{GDBP})
7162c0ca
EZ
2018@end smallexample
2019
fb40c209 2020
7162c0ca
EZ
2021@subheading The @code{-exec-show-arguments} Command
2022@findex -exec-show-arguments
2023
2024@subsubheading Synopsis
2025
2026@example
2027 -exec-show-arguments
2028@end example
fb40c209 2029
fb40c209 2030Print the arguments of the program.
7162c0ca 2031
e7997b74 2032@subsubheading @value{GDBN} Command
7162c0ca 2033
e7997b74 2034The corresponding @value{GDBN} command is @samp{show args}.
7162c0ca
EZ
2035
2036@subsubheading Example
fb40c209
AC
2037N.A.
2038
7162c0ca
EZ
2039@c @subheading -exec-signal
2040
2041@subheading The @code{-exec-step} Command
2042@findex -exec-step
2043
2044@subsubheading Synopsis
fb40c209 2045
7162c0ca
EZ
2046@example
2047 -exec-step
2048@end example
2049
2050Asynchronous command. Resumes execution of the inferior program, stopping
fb40c209 2051when the beginning of the next source line is reached, if the next
7162c0ca 2052source line is not a function call. If it is, stop at the first
fb40c209
AC
2053instruction of the called function.
2054
e7997b74 2055@subsubheading @value{GDBN} Command
7162c0ca 2056
e7997b74 2057The corresponding @value{GDBN} command is @samp{step}.
7162c0ca
EZ
2058
2059@subsubheading Example
fb40c209 2060
fb40c209 2061Stepping into a function:
7162c0ca
EZ
2062
2063@smallexample
fb40c209
AC
2064-exec-step
2065^running
e7997b74 2066(@value{GDBP})
7162c0ca
EZ
2067*stopped,reason="end-stepping-range",
2068frame=@{func="foo",args=@{@{name="a",value="10"@},
fb40c209 2069@{name="b",value="0"@}@},file="recursive2.c",line="11"@}
e7997b74 2070(@value{GDBP})
7162c0ca
EZ
2071@end smallexample
2072
2073Regular stepping:
2074
2075@smallexample
fb40c209
AC
2076-exec-step
2077^running
e7997b74 2078(@value{GDBP})
fb40c209 2079*stopped,reason="end-stepping-range",line="14",file="recursive2.c"
e7997b74 2080(@value{GDBP})
7162c0ca
EZ
2081@end smallexample
2082
2083
2084@subheading The @code{-exec-step-instruction} Command
2085@findex -exec-step-instruction
2086
2087@subsubheading Synopsis
2088
2089@example
2090 -exec-step-instruction
fb40c209
AC
2091@end example
2092
7162c0ca 2093Asynchronous command. Resumes the inferior which executes one machine
e7997b74 2094instruction. The output, once @value{GDBN} has stopped, will vary depending on
502d24d4
EZ
2095whether we have stopped in the middle of a source line or not. In the
2096former case, the address at which the program stopped will be printed as
2097well.
fb40c209 2098
e7997b74 2099@subsubheading @value{GDBN} Command
fb40c209 2100
e7997b74 2101The corresponding @value{GDBN} command is @samp{stepi}.
7162c0ca
EZ
2102
2103@subsubheading Example
2104
2105@smallexample
e7997b74 2106(@value{GDBP})
fb40c209
AC
2107-exec-step-instruction
2108^running
2109
e7997b74 2110(@value{GDBP})
fb40c209
AC
2111*stopped,reason="end-stepping-range",
2112frame=@{func="foo",args=@{@},file="try.c",line="10"@}
e7997b74 2113(@value{GDBP})
fb40c209
AC
2114-exec-step-instruction
2115^running
2116
e7997b74 2117(@value{GDBP})
fb40c209
AC
2118*stopped,reason="end-stepping-range",
2119frame=@{addr="0x000100f4",func="foo",args=@{@},file="try.c",line="10"@}
e7997b74 2120(@value{GDBP})
7162c0ca
EZ
2121@end smallexample
2122
2123
2124@subheading The @code{-exec-until} Command
2125@findex -exec-until
2126
2127@subsubheading Synopsis
2128
2129@example
2130 -exec-until [ @var{location} ]
fb40c209
AC
2131@end example
2132
7162c0ca
EZ
2133Asynchronous command. Executes the inferior until the @var{location}
2134specified in the argument is reached. If there is no argument, the inferior
fb40c209 2135executes until a source line greater than the current one is reached.
1c85fbd9 2136The reason for stopping in this case will be @samp{location-reached}.
fb40c209 2137
e7997b74 2138@subsubheading @value{GDBN} Command
7162c0ca 2139
e7997b74 2140The corresponding @value{GDBN} command is @samp{until}.
7162c0ca
EZ
2141
2142@subsubheading Example
2143
2144@smallexample
e7997b74 2145(@value{GDBP})
fb40c209
AC
2146-exec-until recursive2.c:6
2147^running
e7997b74 2148(@value{GDBP})
fb40c209
AC
2149x = 55
2150*stopped,reason="location-reached",frame=@{func="main",args=@{@},
2151file="recursive2.c",line="6"@}
e7997b74 2152(@value{GDBP})
7162c0ca 2153@end smallexample
fb40c209 2154
7162c0ca
EZ
2155@ignore
2156@subheading -file-clear
fb40c209 2157Is this going away????
7162c0ca
EZ
2158@end ignore
2159
fb40c209 2160
7162c0ca
EZ
2161@subheading The @code{-file-exec-and-symbols} Command
2162@findex -file-exec-and-symbols
2163
2164@subsubheading Synopsis
fb40c209 2165
fb40c209 2166@example
7162c0ca
EZ
2167 -file-exec-and-symbols @var{file}
2168@end example
2169
2170Specify the executable file to be debugged. This file is the one from
2171which the symbol table is also read. If no file is specified, the
2172command clears the executable and symbol information. If breakpoints
e7997b74 2173are set when using this command with no arguments, @value{GDBN} will produce
d68fc559 2174error messages. Otherwise, no output is produced, except a completion
7162c0ca
EZ
2175notification.
2176
e7997b74 2177@subsubheading @value{GDBN} Command
7162c0ca 2178
e7997b74 2179The corresponding @value{GDBN} command is @samp{file}.
7162c0ca
EZ
2180
2181@subsubheading Example
2182
2183@smallexample
e7997b74 2184(@value{GDBP})
fb40c209
AC
2185-file-exec-and-symbols /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
2186^done
e7997b74 2187(@value{GDBP})
7162c0ca
EZ
2188@end smallexample
2189
2190
2191@subheading The @code{-file-exec-file} Command
2192@findex -file-exec-file
2193
2194@subsubheading Synopsis
2195
2196@example
2197 -file-exec-file @var{file}
fb40c209
AC
2198@end example
2199
7162c0ca
EZ
2200Specify the executable file to be debugged. Unlike
2201@samp{-file-exec-and-symbols}, the symbol table is @emph{not} read
e7997b74 2202from this file. If used without argument, @value{GDBN} clears the information
fb40c209
AC
2203about the executable file. No output is produced, except a completion
2204notification.
fb40c209 2205
e7997b74 2206@subsubheading @value{GDBN} Command
7162c0ca 2207
e7997b74 2208The corresponding @value{GDBN} command is @samp{exec-file}.
7162c0ca
EZ
2209
2210@subsubheading Example
2211
2212@smallexample
e7997b74 2213(@value{GDBP})
fb40c209
AC
2214-file-exec-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
2215^done
e7997b74 2216(@value{GDBP})
7162c0ca
EZ
2217@end smallexample
2218
2219
2220@subheading The @code{-file-list-exec-sections} Command
2221@findex -file-list-exec-sections
2222
2223@subsubheading Synopsis
2224
2225@example
2226 -file-list-exec-sections
fb40c209
AC
2227@end example
2228
fb40c209 2229List the sections of the current executable file.
7162c0ca 2230
e7997b74 2231@subsubheading @value{GDBN} Command
7162c0ca 2232
e7997b74 2233The @value{GDBN} command @samp{info file} shows, among the rest, the same
7162c0ca
EZ
2234information as this command. @code{gdbtk} has a corresponding command
2235@samp{gdb_load_info}.
2236
2237@subsubheading Example
fb40c209
AC
2238N.A.
2239
7162c0ca
EZ
2240
2241@subheading The @code{-file-list-exec-source-files} Command
2242@findex -file-list-exec-source-files
2243
2244@subsubheading Synopsis
2245
2246@example
2247 -file-list-exec-source-files
2248@end example
2249
fb40c209 2250List the source files for the current executable.
7162c0ca 2251
e7997b74 2252@subsubheading @value{GDBN} Command
7162c0ca 2253
e7997b74 2254There's no @value{GDBN} command which directly corresponds to this one.
7162c0ca
EZ
2255@code{gdbtk} has an analogous command @samp{gdb_listfiles}.
2256
2257@subsubheading Example
fb40c209
AC
2258N.A.
2259
7162c0ca
EZ
2260
2261@subheading The @code{-file-list-shared-libraries} Command
2262@findex -file-list-shared-libraries
2263
2264@subsubheading Synopsis
2265
2266@example
2267 -file-list-shared-libraries
2268@end example
2269
fb40c209 2270List the shared libraries in the program.
7162c0ca 2271
e7997b74 2272@subsubheading @value{GDBN} Command
7162c0ca 2273
e7997b74 2274The corresponding @value{GDBN} command is @samp{info shared}.
7162c0ca
EZ
2275
2276@subsubheading Example
fb40c209
AC
2277N.A.
2278
7162c0ca
EZ
2279
2280@subheading The @code{-file-list-symbol-files} Command
2281@findex -file-list-symbol-files
2282
2283@subsubheading Synopsis
2284
2285@example
2286 -file-list-symbol-files
2287@end example
2288
fb40c209 2289List symbol files.
7162c0ca 2290
e7997b74 2291@subsubheading @value{GDBN} Command
7162c0ca 2292
e7997b74 2293The corresponding @value{GDBN} command is @samp{info file} (part of it).
7162c0ca
EZ
2294
2295@subsubheading Example
fb40c209
AC
2296N.A.
2297
fb40c209 2298
7162c0ca
EZ
2299@subheading The @code{-file-symbol-file} Command
2300@findex -file-symbol-file
2301
2302@subsubheading Synopsis
2303
fb40c209 2304@example
7162c0ca
EZ
2305 -file-symbol-file @var{file}
2306@end example
2307
2308Read symbol table info from the specified @var{file} argument. When
e7997b74 2309used without arguments, clears @value{GDBN}'s symbol table info. No output is
7162c0ca
EZ
2310produced, except for a completion notification.
2311
e7997b74 2312@subsubheading @value{GDBN} Command
7162c0ca 2313
e7997b74 2314The corresponding @value{GDBN} command is @samp{symbol-file}.
7162c0ca
EZ
2315
2316@subsubheading Example
2317
2318@smallexample
e7997b74 2319(@value{GDBP})
fb40c209
AC
2320-file-symbol-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
2321^done
e7997b74 2322(@value{GDBP})
7162c0ca 2323@end smallexample
fb40c209 2324
7162c0ca 2325@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d68fc559 2326@node GDB/MI Miscellaneous Commands
e7997b74 2327@section Miscellaneous @value{GDBN} commands in @sc{gdb/mi}
fb40c209 2328
7162c0ca 2329@c @subheading -gdb-complete
fb40c209 2330
7162c0ca
EZ
2331@subheading The @code{-gdb-exit} Command
2332@findex -gdb-exit
fb40c209 2333
7162c0ca 2334@subsubheading Synopsis
fb40c209 2335
fb40c209 2336@example
7162c0ca
EZ
2337 -gdb-exit
2338@end example
2339
e7997b74 2340Exit @value{GDBN} immediately.
7162c0ca 2341
e7997b74 2342@subsubheading @value{GDBN} Command
7162c0ca
EZ
2343
2344Approximately corresponds to @samp{quit}.
2345
2346@subsubheading Example
2347
2348@smallexample
e7997b74 2349(@value{GDBP})
fb40c209 2350-gdb-exit
7162c0ca
EZ
2351@end smallexample
2352
2353@subheading The @code{-gdb-set} Command
2354@findex -gdb-set
2355
2356@subsubheading Synopsis
2357
2358@example
2359 -gdb-set
fb40c209
AC
2360@end example
2361
e7997b74 2362Set an internal @value{GDBN} variable.
7162c0ca 2363@c IS THIS A DOLLAR VARIABLE? OR SOMETHING LIKE ANNOTATE ?????
fb40c209 2364
e7997b74 2365@subsubheading @value{GDBN} Command
fb40c209 2366
e7997b74 2367The corresponding @value{GDBN} command is @samp{set}.
7162c0ca
EZ
2368
2369@subsubheading Example
2370
2371@smallexample
e7997b74 2372(@value{GDBP})
fb40c209
AC
2373-gdb-set $foo=3
2374^done
e7997b74 2375(@value{GDBP})
7162c0ca
EZ
2376@end smallexample
2377
2378
2379@subheading The @code{-gdb-show} Command
2380@findex -gdb-show
2381
2382@subsubheading Synopsis
2383
2384@example
2385 -gdb-show
fb40c209
AC
2386@end example
2387
e7997b74 2388Show the current value of a @value{GDBN} variable.
fb40c209 2389
e7997b74 2390@subsubheading @value{GDBN} command
fb40c209 2391
e7997b74 2392The corresponding @value{GDBN} command is @samp{show}.
7162c0ca
EZ
2393
2394@subsubheading Example
2395
2396@smallexample
e7997b74 2397(@value{GDBP})
fb40c209
AC
2398-gdb-show annotate
2399^done,value="0"
e7997b74 2400(@value{GDBP})
7162c0ca 2401@end smallexample
fb40c209 2402
7162c0ca 2403@c @subheading -gdb-source
fb40c209 2404
fb40c209 2405
7162c0ca
EZ
2406@subheading The @code{-gdb-version} Command
2407@findex -gdb-version
2408
2409@subsubheading Synopsis
fb40c209 2410
fb40c209 2411@example
7162c0ca
EZ
2412 -gdb-version
2413@end example
2414
e7997b74 2415Show version information for @value{GDBN}. Used mostly in testing.
7162c0ca 2416
e7997b74 2417@subsubheading @value{GDBN} Command
7162c0ca 2418
e7997b74 2419There's no equivalent @value{GDBN} command. @value{GDBN} by default shows this
7162c0ca
EZ
2420information when you start an interactive session.
2421
2422@subsubheading Example
2423
2424@c This example modifies the actual output from GDB to avoid overfull
2425@c box in TeX.
2426@smallexample
e7997b74 2427(@value{GDBP})
fb40c209 2428-gdb-version
7162c0ca
EZ
2429~GNU gdb 5.2.1
2430~Copyright 2000 Free Software Foundation, Inc.
2431~GDB is free software, covered by the GNU General Public License, and
2432~you are welcome to change it and/or distribute copies of it under
2433~ certain conditions.
fb40c209 2434~Type "show copying" to see the conditions.
7162c0ca
EZ
2435~There is absolutely no warranty for GDB. Type "show warranty" for
2436~ details.
2437~This GDB was configured as
2438 "--host=sparc-sun-solaris2.5.1 --target=ppc-eabi".
fb40c209 2439^done
e7997b74 2440(@value{GDBP})
7162c0ca 2441@end smallexample
fb40c209 2442
7162c0ca
EZ
2443@ignore
2444@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2445@node GDB/MI Kod Commands
2446@section @sc{gdb/mi} Kod Commands
fb40c209
AC
2447
2448The Kod commands are not implemented.
2449
7162c0ca 2450@c @subheading -kod-info
fb40c209 2451
7162c0ca 2452@c @subheading -kod-list
fb40c209 2453
7162c0ca 2454@c @subheading -kod-list-object-types
fb40c209 2455
7162c0ca 2456@c @subheading -kod-show
fb40c209 2457
7162c0ca
EZ
2458@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2459@node GDB/MI Memory Overlay Commands
2460@section @sc{gdb/mi} Memory Overlay Commands
fb40c209 2461
7162c0ca 2462The memory overlay commands are not implemented.
fb40c209 2463
7162c0ca 2464@c @subheading -overlay-auto
fb40c209 2465
7162c0ca 2466@c @subheading -overlay-list-mapping-state
fb40c209 2467
7162c0ca 2468@c @subheading -overlay-list-overlays
fb40c209 2469
7162c0ca 2470@c @subheading -overlay-map
fb40c209 2471
7162c0ca 2472@c @subheading -overlay-off
fb40c209 2473
7162c0ca 2474@c @subheading -overlay-on
fb40c209 2475
7162c0ca 2476@c @subheading -overlay-unmap
fb40c209 2477
7162c0ca
EZ
2478@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2479@node GDB/MI Signal Handling Commands
2480@section @sc{gdb/mi} Signal Handling Commands
fb40c209
AC
2481
2482Signal handling commands are not implemented.
2483
7162c0ca 2484@c @subheading -signal-handle
fb40c209 2485
7162c0ca 2486@c @subheading -signal-list-handle-actions
fb40c209 2487
7162c0ca
EZ
2488@c @subheading -signal-list-signal-types
2489@end ignore
fb40c209 2490
fb40c209 2491
7162c0ca
EZ
2492@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2493@node GDB/MI Stack Manipulation
2494@section Stack manipulation commands in @sc{gdb/mi}
2495
2496
2497@subheading The @code{-stack-info-frame} Command
2498@findex -stack-info-frame
2499
2500@subsubheading Synopsis
2501
2502@example
2503 -stack-info-frame
2504@end example
2505
fb40c209 2506Get info on the current frame.
7162c0ca 2507
e7997b74 2508@subsubheading @value{GDBN} Command
7162c0ca 2509
e7997b74 2510The corresponding @value{GDBN} command is @samp{info frame} or @samp{frame}
7162c0ca
EZ
2511(without arguments).
2512
2513@subsubheading Example
fb40c209
AC
2514N.A.
2515
7162c0ca
EZ
2516@subheading The @code{-stack-info-depth} Command
2517@findex -stack-info-depth
2518
2519@subsubheading Synopsis
2520
fb40c209 2521@example
7162c0ca
EZ
2522 -stack-info-depth [ @var{max-depth} ]
2523@end example
2524
2525Return the depth of the stack. If the integer argument @var{max-depth}
2526is specified, do not count beyond @var{max-depth} frames.
2527
e7997b74 2528@subsubheading @value{GDBN} Command
7162c0ca 2529
e7997b74 2530There's no equivalent @value{GDBN} command.
7162c0ca
EZ
2531
2532@subsubheading Example
2533
2534For a stack with frame levels 0 through 11:
2535
2536@smallexample
e7997b74 2537(@value{GDBP})
fb40c209
AC
2538-stack-info-depth
2539^done,depth="12"
e7997b74 2540(@value{GDBP})
fb40c209
AC
2541-stack-info-depth 4
2542^done,depth="4"
e7997b74 2543(@value{GDBP})
fb40c209
AC
2544-stack-info-depth 12
2545^done,depth="12"
e7997b74 2546(@value{GDBP})
fb40c209
AC
2547-stack-info-depth 11
2548^done,depth="11"
e7997b74 2549(@value{GDBP})
fb40c209
AC
2550-stack-info-depth 13
2551^done,depth="12"
e7997b74 2552(@value{GDBP})
7162c0ca
EZ
2553@end smallexample
2554
2555@subheading The @code{-stack-list-arguments} Command
2556@findex -stack-list-arguments
2557
2558@subsubheading Synopsis
fb40c209 2559
fb40c209 2560@example
7162c0ca
EZ
2561 -stack-list-arguments @var{show-values}
2562 [ @var{low-frame} @var{high-frame} ]
2563@end example
2564
2565Display a list of the arguments for the frames between @var{low-frame}
2566and @var{high-frame} (inclusive). If @var{low-frame} and
2567@var{high-frame} are not provided, list the arguments for the whole call
2568stack.
2569
2570The @var{show-values} argument must have a value of 0 or 1. A value of
25710 means that only the names of the arguments are listed, a value of 1
d68fc559 2572means that both names and values of the arguments are printed.
7162c0ca 2573
e7997b74 2574@subsubheading @value{GDBN} Command
7162c0ca 2575
e7997b74 2576@value{GDBN} does not have an equivalent command. @code{gdbtk} has a
7162c0ca
EZ
2577@samp{gdb_get_args} command which partially overlaps with the
2578functionality of @samp{-stack-list-arguments}.
2579
2580@subsubheading Example
2581
2582@smallexample
e7997b74 2583(@value{GDBP})
fb40c209
AC
2584-stack-list-frames
2585^done,
2586stack=@{
2587frame=@{level="0 ",addr="0x00010734",func="callee4",
2588file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="8"@},
2589frame=@{level="1 ",addr="0x0001076c",func="callee3",
2590file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="17"@},
2591frame=@{level="2 ",addr="0x0001078c",func="callee2",
2592file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="22"@},
2593frame=@{level="3 ",addr="0x000107b4",func="callee1",
2594file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="27"@},
2595frame=@{level="4 ",addr="0x000107e0",func="main",
2596file="../../../devo/gdb/testsuite/gdb.mi/basics.c",line="32"@}@}
e7997b74 2597(@value{GDBP})
fb40c209
AC
2598-stack-list-arguments 0
2599^done,
2600stack-args=@{
2601frame=@{level="0",args=@{@}@},
2602frame=@{level="1",args=@{name="strarg"@}@},
2603frame=@{level="2",args=@{name="intarg",name="strarg"@}@},
2604frame=@{level="3",args=@{name="intarg",name="strarg",name="fltarg"@}@},
2605frame=@{level="4",args=@{@}@}@}
e7997b74 2606(@value{GDBP})
fb40c209
AC
2607-stack-list-arguments 1
2608^done,
2609stack-args=@{
2610frame=@{level="0",args=@{@}@},
7162c0ca
EZ
2611frame=@{level="1",
2612 args=@{@{name="strarg",value="0x11940 \"A string argument.\""@}@}@},
fb40c209
AC
2613frame=@{level="2",args=@{
2614@{name="intarg",value="2"@},
2615@{name="strarg",value="0x11940 \"A string argument.\""@}@}@},
2616@{frame=@{level="3",args=@{
2617@{name="intarg",value="2"@},
2618@{name="strarg",value="0x11940 \"A string argument.\""@},
2619@{name="fltarg",value="3.5"@}@}@},
2620frame=@{level="4",args=@{@}@}@}
e7997b74 2621(@value{GDBP})
fb40c209
AC
2622-stack-list-arguments 0 2 2
2623^done,stack-args=@{frame=@{level="2",args=@{name="intarg",name="strarg"@}@}@}
e7997b74 2624(@value{GDBP})
fb40c209
AC
2625-stack-list-arguments 1 2 2
2626^done,stack-args=@{frame=@{level="2",
2627args=@{@{name="intarg",value="2"@},
2628@{name="strarg",value="0x11940 \"A string argument.\""@}@}@}@}
e7997b74 2629(@value{GDBP})
7162c0ca
EZ
2630@end smallexample
2631
2632@c @subheading -stack-list-exception-handlers
2633
2634
2635@subheading The @code{-stack-list-frames} Command
2636@findex -stack-list-frames
2637
2638@subsubheading Synopsis
2639
2640@example
2641 -stack-list-frames [ @var{low-frame} @var{high-frame} ]
fb40c209
AC
2642@end example
2643
7162c0ca
EZ
2644List the frames currently on the stack. For each frame it displays the
2645following info:
fb40c209 2646
fb40c209 2647@table @samp
7162c0ca 2648@item @var{level}
fb40c209 2649The frame number, 0 being the topmost frame, i.e. the innermost function.
7162c0ca
EZ
2650@item @var{addr}
2651The @code{$pc} value for that frame.
2652@item @var{func}
2653Function name.
2654@item @var{file}
2655File name of the source file where the function lives.
2656@item @var{line}
2657Line number corresponding to the @code{$pc}.
fb40c209
AC
2658@end table
2659
7162c0ca
EZ
2660If invoked without arguments, this command prints a backtrace for the
2661whole stack. If given two integer arguments, it shows the frames whose
2662levels are between the two arguments (inclusive). If the two arguments
2663are equal, it shows the single frame at the corresponding level.
fb40c209 2664
e7997b74 2665@subsubheading @value{GDBN} Command
fb40c209 2666
e7997b74 2667The corresponding @value{GDBN} commands are @samp{backtrace} and @samp{where}.
fb40c209 2668
7162c0ca
EZ
2669@subsubheading Example
2670
2671Full stack backtrace:
2672
2673@smallexample
e7997b74 2674(@value{GDBP})
fb40c209
AC
2675-stack-list-frames
2676^done,stack=
7162c0ca
EZ
2677@{frame=@{level="0 ",addr="0x0001076c",func="foo",
2678 file="recursive2.c",line="11"@},
2679frame=@{level="1 ",addr="0x000107a4",func="foo",
2680 file="recursive2.c",line="14"@},
2681frame=@{level="2 ",addr="0x000107a4",func="foo",
2682 file="recursive2.c",line="14"@},
2683frame=@{level="3 ",addr="0x000107a4",func="foo",
2684 file="recursive2.c",line="14"@},
2685frame=@{level="4 ",addr="0x000107a4",func="foo",
2686 file="recursive2.c",line="14"@},
2687frame=@{level="5 ",addr="0x000107a4",func="foo",
2688 file="recursive2.c",line="14"@},
2689frame=@{level="6 ",addr="0x000107a4",func="foo",
2690 file="recursive2.c",line="14"@},
2691frame=@{level="7 ",addr="0x000107a4",func="foo",
2692 file="recursive2.c",line="14"@},
2693frame=@{level="8 ",addr="0x000107a4",func="foo",
2694 file="recursive2.c",line="14"@},
2695frame=@{level="9 ",addr="0x000107a4",func="foo",
2696 file="recursive2.c",line="14"@},
2697frame=@{level="10",addr="0x000107a4",func="foo",
2698 file="recursive2.c",line="14"@},
2699frame=@{level="11",addr="0x00010738",func="main",
2700 file="recursive2.c",line="4"@}@}
e7997b74 2701(@value{GDBP})
7162c0ca
EZ
2702@end smallexample
2703
e7997b74 2704Show frames between @var{low_frame} and @var{high_frame}:
7162c0ca
EZ
2705
2706@smallexample
e7997b74 2707(@value{GDBP})
fb40c209
AC
2708-stack-list-frames 3 5
2709^done,stack=
7162c0ca
EZ
2710@{frame=@{level="3 ",addr="0x000107a4",func="foo",
2711 file="recursive2.c",line="14"@},
2712frame=@{level="4 ",addr="0x000107a4",func="foo",
2713 file="recursive2.c",line="14"@},
2714frame=@{level="5 ",addr="0x000107a4",func="foo",
2715 file="recursive2.c",line="14"@}@}
e7997b74 2716(@value{GDBP})
7162c0ca
EZ
2717@end smallexample
2718
2719Show a single frame:
2720
2721@smallexample
e7997b74 2722(@value{GDBP})
fb40c209
AC
2723-stack-list-frames 3 3
2724^done,stack=
7162c0ca
EZ
2725@{frame=@{level="3 ",addr="0x000107a4",func="foo",
2726 file="recursive2.c",line="14"@}@}
e7997b74 2727(@value{GDBP})
7162c0ca
EZ
2728@end smallexample
2729
2730
2731@subheading The @code{-stack-list-locals} Command
2732@findex -stack-list-locals
2733
2734@subsubheading Synopsis
2735
2736@example
2737 -stack-list-locals @var{print-values}
2738@end example
2739
d68fc559 2740Display the local variable names for the current frame. With an
7162c0ca
EZ
2741argument of 0 prints only the names of the variables, with argument of 1
2742prints also their values.
2743
e7997b74 2744@subsubheading @value{GDBN} Command
7162c0ca 2745
e7997b74 2746@samp{info locals} in @value{GDBN}, @samp{gdb_get_locals} in @code{gdbtk}.
7162c0ca
EZ
2747
2748@subsubheading Example
2749
2750@smallexample
e7997b74 2751(@value{GDBP})
7162c0ca
EZ
2752-stack-list-locals 0
2753^done,locals=@{name="A",name="B",name="C"@}
e7997b74 2754(@value{GDBP})
7162c0ca
EZ
2755-stack-list-locals 1
2756^done,locals=@{@{name="A",value="1"@},@{name="B",value="2"@},
2757 @{name="C",value="3"@}@}
e7997b74 2758(@value{GDBP})
7162c0ca
EZ
2759@end smallexample
2760
2761
2762@subheading The @code{-stack-select-frame} Command
2763@findex -stack-select-frame
2764
2765@subsubheading Synopsis
2766
2767@example
2768 -stack-select-frame @var{framenum}
2769@end example
2770
2771Change the current frame. Select a different frame @var{framenum} on
2772the stack.
2773
e7997b74 2774@subsubheading @value{GDBN} Command
7162c0ca 2775
e7997b74
EZ
2776The corresponding @value{GDBN} commands are @samp{frame}, @samp{up},
2777@samp{down}, @samp{select-frame}, @samp{up-silent}, and @samp{down-silent}.
7162c0ca
EZ
2778
2779@subsubheading Example
2780
2781@smallexample
e7997b74 2782(@value{GDBP})
7162c0ca
EZ
2783-stack-select-frame 2
2784^done
e7997b74 2785(@value{GDBP})
7162c0ca
EZ
2786@end smallexample
2787
2788@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2789@node GDB/MI Symbol Query
2790@section @sc{gdb/mi} Symbol Query Commands
2791
2792
2793@subheading The @code{-symbol-info-address} Command
2794@findex -symbol-info-address
2795
2796@subsubheading Synopsis
2797
2798@example
2799 -symbol-info-address @var{symbol}
2800@end example
2801
2802Describe where @var{symbol} is stored.
2803
e7997b74 2804@subsubheading @value{GDBN} Command
7162c0ca 2805
e7997b74 2806The corresponding @value{GDBN} command is @samp{info address}.
7162c0ca
EZ
2807
2808@subsubheading Example
2809N.A.
2810
2811
2812@subheading The @code{-symbol-info-file} Command
2813@findex -symbol-info-file
2814
2815@subsubheading Synopsis
2816
2817@example
2818 -symbol-info-file
2819@end example
2820
2821Show the file for the symbol.
2822
e7997b74 2823@subsubheading @value{GDBN} Command
7162c0ca 2824
e7997b74
EZ
2825There's no equivalent @value{GDBN} command. @code{gdbtk} has
2826@samp{gdb_find_file}.
7162c0ca
EZ
2827
2828@subsubheading Example
2829N.A.
2830
2831
2832@subheading The @code{-symbol-info-function} Command
2833@findex -symbol-info-function
2834
2835@subsubheading Synopsis
2836
2837@example
2838 -symbol-info-function
fb40c209
AC
2839@end example
2840
7162c0ca
EZ
2841Show which function the symbol lives in.
2842
e7997b74 2843@subsubheading @value{GDBN} Command
7162c0ca
EZ
2844
2845@samp{gdb_get_function} in @code{gdbtk}.
2846
2847@subsubheading Example
2848N.A.
2849
2850
2851@subheading The @code{-symbol-info-line} Command
2852@findex -symbol-info-line
2853
2854@subsubheading Synopsis
2855
2856@example
2857 -symbol-info-line
2858@end example
2859
2860Show the core addresses of the code for a source line.
2861
e7997b74 2862@subsubheading @value{GDBN} Command
7162c0ca 2863
e7997b74
EZ
2864The corresponding @value{GDBN} comamnd is @samp{info line}.
2865@code{gdbtk} has the @samp{gdb_get_line} and @samp{gdb_get_file} commands.
7162c0ca
EZ
2866
2867@subsubheading Example
2868N.A.
2869
2870
2871@subheading The @code{-symbol-info-symbol} Command
2872@findex -symbol-info-symbol
2873
2874@subsubheading Synopsis
2875
2876@example
2877 -symbol-info-symbol @var{addr}
2878@end example
2879
2880Describe what symbol is at location @var{addr}.
2881
e7997b74 2882@subsubheading @value{GDBN} Command
7162c0ca 2883
e7997b74 2884The corresponding @value{GDBN} command is @samp{info symbol}.
7162c0ca
EZ
2885
2886@subsubheading Example
2887N.A.
2888
2889
2890@subheading The @code{-symbol-list-functions} Command
2891@findex -symbol-list-functions
2892
2893@subsubheading Synopsis
2894
2895@example
2896 -symbol-list-functions
2897@end example
2898
2899List the functions in the executable.
2900
e7997b74 2901@subsubheading @value{GDBN} Command
7162c0ca 2902
e7997b74
EZ
2903@samp{info functions} in @value{GDBN}, @samp{gdb_listfunc} and
2904@samp{gdb_search} in @code{gdbtk}.
7162c0ca
EZ
2905
2906@subsubheading Example
2907N.A.
2908
2909
2910@subheading The @code{-symbol-list-types} Command
2911@findex -symbol-list-types
2912
2913@subsubheading Synopsis
2914
2915@example
2916 -symbol-list-types
2917@end example
2918
2919List all the type names.
2920
e7997b74 2921@subsubheading @value{GDBN} Command
7162c0ca 2922
e7997b74 2923The corresponding commands are @samp{info types} in @value{GDBN},
7162c0ca
EZ
2924@samp{gdb_search} in @code{gdbtk}.
2925
2926@subsubheading Example
2927N.A.
2928
2929
2930@subheading The @code{-symbol-list-variables} Command
2931@findex -symbol-list-variables
2932
2933@subsubheading Synopsis
2934
2935@example
2936 -symbol-list-variables
2937@end example
2938
2939List all the global and static variable names.
2940
e7997b74 2941@subsubheading @value{GDBN} Command
7162c0ca 2942
e7997b74 2943@samp{info variables} in @value{GDBN}, @samp{gdb_search} in @code{gdbtk}.
7162c0ca
EZ
2944
2945@subsubheading Example
2946N.A.
2947
2948
2949@subheading The @code{-symbol-locate} Command
2950@findex -symbol-locate
2951
2952@subsubheading Synopsis
2953
2954@example
2955 -symbol-locate
2956@end example
2957
e7997b74 2958@subsubheading @value{GDBN} Command
7162c0ca
EZ
2959
2960@samp{gdb_loc} in @code{gdbtk}.
2961
2962@subsubheading Example
2963N.A.
2964
2965
2966@subheading The @code{-symbol-type} Command
2967@findex -symbol-type
2968
2969@subsubheading Synopsis
2970
2971@example
2972 -symbol-type @var{variable}
2973@end example
2974
2975Show type of @var{variable}.
2976
e7997b74 2977@subsubheading @value{GDBN} Command
7162c0ca 2978
e7997b74 2979The corresponding @value{GDBN} command is @samp{ptype}, @code{gdbtk} has
7162c0ca
EZ
2980@samp{gdb_obj_variable}.
2981
2982@subsubheading Example
2983N.A.
2984
2985
2986@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2987@node GDB/MI Target Manipulation
2988@section @sc{gdb/mi} Target Manipulation Commands
2989
fb40c209 2990
7162c0ca
EZ
2991@subheading The @code{-target-attach} Command
2992@findex -target-attach
2993
2994@subsubheading Synopsis
fb40c209 2995
fb40c209 2996@example
7162c0ca 2997 -target-attach @var{pid} | @var{file}
fb40c209
AC
2998@end example
2999
e7997b74 3000Attach to a process @var{pid} or a file @var{file} outside of @value{GDBN}.
fb40c209 3001
e7997b74 3002@subsubheading @value{GDBN} command
fb40c209 3003
e7997b74 3004The corresponding @value{GDBN} command is @samp{attach}.
fb40c209 3005
7162c0ca 3006@subsubheading Example
fb40c209
AC
3007N.A.
3008
fb40c209 3009
7162c0ca
EZ
3010@subheading The @code{-target-compare-sections} Command
3011@findex -target-compare-sections
fb40c209 3012
7162c0ca 3013@subsubheading Synopsis
fb40c209 3014
7162c0ca
EZ
3015@example
3016 -target-compare-sections [ @var{section} ]
3017@end example
fb40c209 3018
7162c0ca
EZ
3019Compare data of section @var{section} on target to the exec file.
3020Without the argument, all sections are compared.
fb40c209 3021
e7997b74 3022@subsubheading @value{GDBN} Command
fb40c209 3023
e7997b74 3024The @value{GDBN} equivalent is @samp{compare-sections}.
fb40c209 3025
7162c0ca 3026@subsubheading Example
fb40c209
AC
3027N.A.
3028
fb40c209 3029
7162c0ca
EZ
3030@subheading The @code{-target-detach} Command
3031@findex -target-detach
fb40c209 3032
7162c0ca 3033@subsubheading Synopsis
fb40c209 3034
fb40c209 3035@example
7162c0ca
EZ
3036 -target-detach
3037@end example
3038
3039Disconnect from the remote target. There's no output.
3040
e7997b74 3041@subsubheading @value{GDBN} command
7162c0ca 3042
e7997b74 3043The corresponding @value{GDBN} command is @samp{detach}.
7162c0ca
EZ
3044
3045@subsubheading Example
3046
3047@smallexample
e7997b74 3048(@value{GDBP})
fb40c209
AC
3049-target-detach
3050^done
e7997b74 3051(@value{GDBP})
7162c0ca
EZ
3052@end smallexample
3053
3054
3055@subheading The @code{-target-download} Command
3056@findex -target-download
3057
3058@subsubheading Synopsis
3059
3060@example
3061 -target-download
fb40c209
AC
3062@end example
3063
fb40c209
AC
3064Loads the executable onto the remote target.
3065It prints out an update message every half second, which includes the fields:
fb40c209 3066
7162c0ca
EZ
3067@table @samp
3068@item section
3069The name of the section.
3070@item section-sent
3071The size of what has been sent so far for that section.
3072@item section-size
3073The size of the section.
3074@item total-sent
3075The total size of what was sent so far (the current and the previous sections).
3076@item total-size
3077The size of the overall executable to download.
3078@end table
3079
3080@noindent
3081Each message is sent as status record (@pxref{GDB/MI Output Syntax, ,
3082@sc{gdb/mi} Output Syntax}).
3083
3084In addition, it prints the name and size of the sections, as they are
3085downloaded. These messages include the following fields:
fb40c209 3086
7162c0ca
EZ
3087@table @samp
3088@item section
3089The name of the section.
3090@item section-size
3091The size of the section.
3092@item total-size
3093The size of the overall executable to download.
3094@end table
3095
3096@noindent
e7997b74 3097At the end, a summary is printed.
7162c0ca 3098
e7997b74 3099@subsubheading @value{GDBN} Command
7162c0ca 3100
e7997b74 3101The corresponding @value{GDBN} command is @samp{load}.
7162c0ca
EZ
3102
3103@subsubheading Example
3104
3105Note: each status message appears on a single line. Here the messages
d68fc559 3106have been broken down so that they can fit onto a page.
7162c0ca
EZ
3107
3108@smallexample
e7997b74 3109(@value{GDBP})
fb40c209
AC
3110-target-download
3111+download,@{section=".text",section-size="6668",total-size="9880"@}
3112+download,@{section=".text",section-sent="512",section-size="6668",
3113total-sent="512",total-size="9880"@}
3114+download,@{section=".text",section-sent="1024",section-size="6668",
3115total-sent="1024",total-size="9880"@}
3116+download,@{section=".text",section-sent="1536",section-size="6668",
3117total-sent="1536",total-size="9880"@}
3118+download,@{section=".text",section-sent="2048",section-size="6668",
3119total-sent="2048",total-size="9880"@}
3120+download,@{section=".text",section-sent="2560",section-size="6668",
3121total-sent="2560",total-size="9880"@}
3122+download,@{section=".text",section-sent="3072",section-size="6668",
3123total-sent="3072",total-size="9880"@}
3124+download,@{section=".text",section-sent="3584",section-size="6668",
3125total-sent="3584",total-size="9880"@}
3126+download,@{section=".text",section-sent="4096",section-size="6668",
3127total-sent="4096",total-size="9880"@}
3128+download,@{section=".text",section-sent="4608",section-size="6668",
3129total-sent="4608",total-size="9880"@}
3130+download,@{section=".text",section-sent="5120",section-size="6668",
3131total-sent="5120",total-size="9880"@}
3132+download,@{section=".text",section-sent="5632",section-size="6668",
3133total-sent="5632",total-size="9880"@}
3134+download,@{section=".text",section-sent="6144",section-size="6668",
3135total-sent="6144",total-size="9880"@}
3136+download,@{section=".text",section-sent="6656",section-size="6668",
3137total-sent="6656",total-size="9880"@}
3138+download,@{section=".init",section-size="28",total-size="9880"@}
3139+download,@{section=".fini",section-size="28",total-size="9880"@}
3140+download,@{section=".data",section-size="3156",total-size="9880"@}
3141+download,@{section=".data",section-sent="512",section-size="3156",
3142total-sent="7236",total-size="9880"@}
3143+download,@{section=".data",section-sent="1024",section-size="3156",
3144total-sent="7748",total-size="9880"@}
3145+download,@{section=".data",section-sent="1536",section-size="3156",
3146total-sent="8260",total-size="9880"@}
3147+download,@{section=".data",section-sent="2048",section-size="3156",
3148total-sent="8772",total-size="9880"@}
3149+download,@{section=".data",section-sent="2560",section-size="3156",
3150total-sent="9284",total-size="9880"@}
3151+download,@{section=".data",section-sent="3072",section-size="3156",
3152total-sent="9796",total-size="9880"@}
7162c0ca
EZ
3153^done,address="0x10004",load-size="9880",transfer-rate="6586",
3154write-rate="429"
e7997b74 3155(@value{GDBP})
7162c0ca
EZ
3156@end smallexample
3157
3158
3159@subheading The @code{-target-exec-status} Command
3160@findex -target-exec-status
3161
3162@subsubheading Synopsis
3163
3164@example
3165 -target-exec-status
fb40c209
AC
3166@end example
3167
7162c0ca
EZ
3168Provide information on the state of the target (whether it is running or
3169not, for instance).
3170
e7997b74 3171@subsubheading @value{GDBN} Command
7162c0ca 3172
e7997b74 3173There's no equivalent @value{GDBN} command.
7162c0ca
EZ
3174
3175@subsubheading Example
fb40c209
AC
3176N.A.
3177
7162c0ca
EZ
3178
3179@subheading The @code{-target-list-available-targets} Command
3180@findex -target-list-available-targets
3181
3182@subsubheading Synopsis
3183
3184@example
3185 -target-list-available-targets
3186@end example
3187
fb40c209 3188List the possible targets to connect to.
7162c0ca 3189
e7997b74 3190@subsubheading @value{GDBN} Command
7162c0ca 3191
e7997b74 3192The corresponding @value{GDBN} command is @samp{help target}.
7162c0ca
EZ
3193
3194@subsubheading Example
fb40c209
AC
3195N.A.
3196
7162c0ca
EZ
3197
3198@subheading The @code{-target-list-current-targets} Command
3199@findex -target-list-current-targets
3200
3201@subsubheading Synopsis
3202
3203@example
3204 -target-list-current-targets
3205@end example
3206
3207Describe the current target.
3208
e7997b74 3209@subsubheading @value{GDBN} Command
7162c0ca
EZ
3210
3211The corresponding information is printed by @samp{info file} (among
3212other things).
3213
3214@subsubheading Example
fb40c209
AC
3215N.A.
3216
7162c0ca
EZ
3217
3218@subheading The @code{-target-list-parameters} Command
3219@findex -target-list-parameters
3220
3221@subsubheading Synopsis
3222
3223@example
3224 -target-list-parameters
3225@end example
3226
3227@c ????
3228
e7997b74 3229@subsubheading @value{GDBN} Command
7162c0ca
EZ
3230
3231No equivalent.
3232
3233@subsubheading Example
fb40c209
AC
3234N.A.
3235
fb40c209 3236
7162c0ca
EZ
3237@subheading The @code{-target-select} Command
3238@findex -target-select
fb40c209 3239
7162c0ca
EZ
3240@subsubheading Synopsis
3241
3242@example
e7997b74 3243 -target-select @var{type} @var{parameters @dots{}}
7162c0ca
EZ
3244@end example
3245
e7997b74 3246Connect @value{GDBN} to the remote target. This command takes two args:
fb40c209
AC
3247
3248@table @samp
7162c0ca
EZ
3249@item @var{type}
3250The type of target, for instance @samp{async}, @samp{remote}, etc.
3251@item @var{parameters}
3252Device names, host names and the like. @xref{Target Commands, ,
3253Commands for managing targets}, for more details.
fb40c209 3254@end table
7162c0ca 3255
fb40c209 3256The output is a connection notification, followed by the address at
7162c0ca 3257which the target program is, in the following form:
fb40c209 3258
7162c0ca
EZ
3259@smallexample
3260^connected,addr="@var{address}",func="@var{function name}",
3261 args=@{@var{arg list}@}
3262@end smallexample
fb40c209 3263
e7997b74 3264@subsubheading @value{GDBN} Command
7162c0ca 3265
e7997b74 3266The corresponding @value{GDBN} command is @samp{target}.
7162c0ca
EZ
3267
3268@subsubheading Example
3269
3270@smallexample
e7997b74 3271(@value{GDBP})
fb40c209
AC
3272-target-select async /dev/ttya
3273^connected,addr="0xfe00a300",func="??",args=@{@}
e7997b74 3274(@value{GDBP})
7162c0ca
EZ
3275@end smallexample
3276
3277@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3278@node GDB/MI Thread Commands
3279@section @sc{gdb/mi} Thread Commands
3280
3281
3282@subheading The @code{-thread-info} Command
3283@findex -thread-info
3284
3285@subsubheading Synopsis
3286
3287@example
3288 -thread-info
fb40c209
AC
3289@end example
3290
e7997b74 3291@subsubheading @value{GDBN} command
7162c0ca
EZ
3292
3293No equivalent.
3294
3295@subsubheading Example
3296N.A.
3297
3298
3299@subheading The @code{-thread-list-all-threads} Command
3300@findex -thread-list-all-threads
3301
3302@subsubheading Synopsis
3303
3304@example
3305 -thread-list-all-threads
3306@end example
3307
e7997b74 3308@subsubheading @value{GDBN} Command
7162c0ca 3309
e7997b74 3310The equivalent @value{GDBN} command is @samp{info threads}.
7162c0ca
EZ
3311
3312@subsubheading Example
3313N.A.
3314
3315
3316@subheading The @code{-thread-list-ids} Command
3317@findex -thread-list-ids
3318
3319@subsubheading Synopsis
3320
fb40c209 3321@example
7162c0ca
EZ
3322 -thread-list-ids
3323@end example
3324
e7997b74
EZ
3325Produces a list of the currently known @value{GDBN} thread ids. At the
3326end of the list it also prints the total number of such threads.
7162c0ca 3327
e7997b74 3328@subsubheading @value{GDBN} Command
7162c0ca
EZ
3329
3330Part of @samp{info threads} supplies the same information.
3331
3332@subsubheading Example
3333
1c85fbd9 3334No threads present, besides the main process:
7162c0ca
EZ
3335
3336@smallexample
e7997b74 3337(@value{GDBP})
fb40c209
AC
3338-thread-list-ids
3339^done,thread-ids=@{@},number-of-threads="0"
e7997b74 3340(@value{GDBP})
7162c0ca
EZ
3341@end smallexample
3342
3343
1c85fbd9 3344Several threads:
7162c0ca
EZ
3345
3346@smallexample
e7997b74 3347(@value{GDBP})
fb40c209
AC
3348-thread-list-ids
3349^done,thread-ids=@{thread-id="3",thread-id="2",thread-id="1"@},
3350number-of-threads="3"
e7997b74 3351(@value{GDBP})
7162c0ca
EZ
3352@end smallexample
3353
3354
3355@subheading The @code{-thread-select} Command
3356@findex -thread-select
3357
3358@subsubheading Synopsis
3359
3360@example
3361 -thread-select @var{threadnum}
fb40c209
AC
3362@end example
3363
7162c0ca 3364Make @var{threadnum} the current thread. It prints the number of the new
fb40c209 3365current thread, and the topmost frame for that thread.
7162c0ca 3366
e7997b74 3367@subsubheading @value{GDBN} Command
7162c0ca 3368
e7997b74 3369The corresponding @value{GDBN} command is @samp{thread}.
7162c0ca
EZ
3370
3371@subsubheading Example
3372
3373@smallexample
e7997b74 3374(@value{GDBP})
fb40c209
AC
3375-exec-next
3376^running
e7997b74 3377(@value{GDBP})
fb40c209
AC
3378*stopped,reason="end-stepping-range",thread-id="2",line="187",
3379file="../../../devo/gdb/testsuite/gdb.threads/linux-dp.c"
e7997b74 3380(@value{GDBP})
fb40c209
AC
3381-thread-list-ids
3382^done,
7162c0ca 3383thread-ids=@{thread-id="3",thread-id="2",thread-id="1"@},
fb40c209 3384number-of-threads="3"
e7997b74 3385(@value{GDBP})
fb40c209
AC
3386-thread-select 3
3387^done,new-thread-id="3",
3388frame=@{level="0 ",func="vprintf",
3389args=@{@{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""@},
3390@{name="arg",value="0x2"@}@},file="vprintf.c",line="31"@}
e7997b74 3391(@value{GDBP})
7162c0ca 3392@end smallexample
fb40c209 3393
7162c0ca
EZ
3394@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3395@node GDB/MI Tracepoint Commands
3396@section @sc{gdb/mi} Tracepoint Commands
fb40c209 3397
7162c0ca 3398The tracepoint commands are not yet implemented.
fb40c209 3399
7162c0ca 3400@c @subheading -trace-actions
fb40c209 3401
7162c0ca 3402@c @subheading -trace-delete
fb40c209 3403
7162c0ca 3404@c @subheading -trace-disable
fb40c209 3405
7162c0ca 3406@c @subheading -trace-dump
fb40c209 3407
7162c0ca 3408@c @subheading -trace-enable
fb40c209 3409
7162c0ca 3410@c @subheading -trace-exists
fb40c209 3411
7162c0ca 3412@c @subheading -trace-find
fb40c209 3413
7162c0ca 3414@c @subheading -trace-frame-number
fb40c209 3415
7162c0ca 3416@c @subheading -trace-info
fb40c209 3417
7162c0ca 3418@c @subheading -trace-insert
fb40c209 3419
7162c0ca 3420@c @subheading -trace-list
fb40c209 3421
7162c0ca 3422@c @subheading -trace-pass-count
fb40c209 3423
7162c0ca 3424@c @subheading -trace-save
fb40c209 3425
7162c0ca 3426@c @subheading -trace-start
fb40c209 3427
7162c0ca 3428@c @subheading -trace-stop
fb40c209
AC
3429
3430
7162c0ca
EZ
3431@c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3432@node GDB/MI Variable Objects
3433@section @sc{gdb/mi} Variable Objects
3434
fb40c209 3435
7162c0ca 3436@subheading Motivation for Variable Objects in @sc{gdb/mi}
fb40c209
AC
3437
3438For the implementation of a variable debugger window (locals, watched
d68fc559 3439expressions, etc.), we are proposing the adaptation of the existing code
7162c0ca 3440used by @code{Insight}.
fb40c209 3441
7162c0ca 3442The two main reasons for that are:
fb40c209
AC
3443
3444@enumerate 1
3445@item
7162c0ca
EZ
3446It has been proven in practice (it is already on its second generation).
3447
fb40c209
AC
3448@item
3449It will shorten development time (needless to say how important it is
7162c0ca 3450now).
fb40c209
AC
3451@end enumerate
3452
3453The original interface was designed to be used by Tcl code, so it was
1c85fbd9
EZ
3454slightly changed so it could be used through @sc{gdb/mi}. This section
3455describes the @sc{gdb/mi} operations that will be available and gives some
7162c0ca 3456hints about their use.
fb40c209
AC
3457
3458@emph{Note}: In addition to the set of operations described here, we
7162c0ca
EZ
3459expect the @sc{gui} implementation of a variable window to require, at
3460least, the following operations:
3461
3462@itemize @bullet
1c85fbd9
EZ
3463@item @code{-gdb-show} @code{output-radix}
3464@item @code{-stack-list-arguments}
3465@item @code{-stack-list-locals}
3466@item @code{-stack-select-frame}
fb40c209
AC
3467@end itemize
3468
7162c0ca 3469@subheading Introduction to Variable Objects in @sc{gdb/mi}
fb40c209 3470
7162c0ca 3471@cindex variable objects in @sc{gdb/mi}
fb40c209
AC
3472The basic idea behind variable objects is the creation of a named object
3473to represent a variable, an expression, a memory location or even a CPU
3474register. For each object created, a set of operations is available for
3475examining or changing its properties.
3476
3477Furthermore, complex data types, such as C structures, are represented
7162c0ca
EZ
3478in a tree format. For instance, the @code{struct} type variable is the
3479root and the children will represent the struct members. If a child
3480is itself of a complex type, it will also have children of its own.
3481Appropriate language differences are handled for C, C@t{++} and Java.
fb40c209
AC
3482
3483When returning the actual values of the objects, this facility allows
3484for the individual selection of the display format used in the result
3485creation. It can be chosen among: binary, decimal, hexadecimal, octal
d68fc559 3486and natural. Natural refers to a default format automatically
7162c0ca
EZ
3487chosen based on the variable type (like decimal for an @code{int}, hex
3488for pointers, etc.).
fb40c209 3489
1c85fbd9 3490The following is the complete set of @sc{gdb/mi} operations defined to
fb40c209
AC
3491access this functionality:
3492
96c405b3 3493@multitable @columnfractions .4 .6
fb40c209
AC
3494@item @strong{Operation}
3495@tab @strong{Description}
3496
1c85fbd9 3497@item @code{-var-create}
fb40c209 3498@tab create a variable object
1c85fbd9 3499@item @code{-var-delete}
fb40c209 3500@tab delete the variable object and its children
1c85fbd9 3501@item @code{-var-set-format}
fb40c209 3502@tab set the display format of this variable
1c85fbd9 3503@item @code{-var-show-format}
fb40c209 3504@tab show the display format of this variable
1c85fbd9 3505@item @code{-var-info-num-children}
fb40c209 3506@tab tells how many children this object has
1c85fbd9 3507@item @code{-var-list-children}
fb40c209 3508@tab return a list of the object's children
1c85fbd9 3509@item @code{-var-info-type}
fb40c209 3510@tab show the type of this variable object
1c85fbd9 3511@item @code{-var-info-expression}
fb40c209 3512@tab print what this variable object represents
1c85fbd9 3513@item @code{-var-show-attributes}
fb40c209 3514@tab is this variable editable? does it exist here?
1c85fbd9 3515@item @code{-var-evaluate-expression}
fb40c209 3516@tab get the value of this variable
1c85fbd9 3517@item @code{-var-assign}
fb40c209 3518@tab set the value of this variable
1c85fbd9 3519@item @code{-var-update}
fb40c209
AC
3520@tab update the variable and its children
3521@end multitable
3522
7162c0ca
EZ
3523In the next subsection we describe each operation in detail and suggest
3524how it can be used.
3525
3526@subheading Description And Use of Operations on Variable Objects
fb40c209 3527
7162c0ca
EZ
3528@subheading The @code{-var-create} Command
3529@findex -var-create
fb40c209 3530
7162c0ca 3531@subsubheading Synopsis
fb40c209 3532
7162c0ca
EZ
3533@example
3534 -var-create @{@var{name} | "-"@}
3535 @{@var{frame-addr} | "*"@} @var{expression}
3536@end example
fb40c209
AC
3537
3538This operation creates a variable object, which allows the monitoring of
3539a variable, the result of an expression, a memory cell or a CPU
3540register.
3541
7162c0ca
EZ
3542The @var{name} parameter is the string by which the object can be
3543referenced. It must be unique. If @samp{-} is specified, the varobj
1c85fbd9 3544system will generate a string ``varNNNNNN'' automatically. It will be
7162c0ca
EZ
3545unique provided that one does not specify @var{name} on that format.
3546The command fails if a duplicate name is found.
fb40c209
AC
3547
3548The frame under which the expression should be evaluated can be
7162c0ca
EZ
3549specified by @var{frame-addr}. A @samp{*} indicates that the current
3550frame should be used.
fb40c209 3551
d68fc559 3552@var{expression} is any expression valid on the current language set (must not
7162c0ca
EZ
3553begin with a @samp{*}), or one of the following:
3554
3555@itemize @bullet
3556@item
3557@samp{*@var{addr}}, where @var{addr} is the address of a memory cell
3558
3559@item
1c85fbd9 3560@samp{*@var{addr}-@var{addr}} --- a memory address range (TBD)
7162c0ca
EZ
3561
3562@item
1c85fbd9 3563@samp{$@var{regname}} --- a CPU register name
7162c0ca
EZ
3564@end itemize
3565
3566@subsubheading Result
3567
fb40c209
AC
3568This operation returns the name, number of children and the type of the
3569object created. Type is returned as a string as the ones generated by
e7997b74 3570the @value{GDBN} CLI:
7162c0ca
EZ
3571
3572@example
3573 name="@var{name}",numchild="N",type="@var{type}"
3574@end example
3575
3576
3577@subheading The @code{-var-delete} Command
3578@findex -var-delete
3579
3580@subsubheading Synopsis
3581
3582@example
3583 -var-delete @var{name}
3584@end example
3585
3586Deletes a previously created variable object and all of its children.
3587
3588Returns an error if the object @var{name} is not found.
3589
3590
3591@subheading The @code{-var-set-format} Command
3592@findex -var-set-format
3593
3594@subsubheading Synopsis
3595
3596@example
3597 -var-set-format @var{name} @var{format-spec}
3598@end example
3599
3600Sets the output format for the value of the object @var{name} to be
3601@var{format-spec}.
3602
3603The syntax for the @var{format-spec} is as follows:
3604
3605@example
3606 @var{format-spec} @expansion{}
3607 @{binary | decimal | hexadecimal | octal | natural@}
3608@end example
3609
3610
3611@subheading The @code{-var-show-format} Command
3612@findex -var-show-format
3613
3614@subsubheading Synopsis
3615
3616@example
3617 -var-show-format @var{name}
3618@end example
3619
3620Returns the format used to display the value of the object @var{name}.
3621
3622@example
1c85fbd9 3623 @var{format} @expansion{}
7162c0ca
EZ
3624 @var{format-spec}
3625@end example
3626
3627
3628@subheading The @code{-var-info-num-children} Command
3629@findex -var-info-num-children
3630
3631@subsubheading Synopsis
3632
3633@example
3634 -var-info-num-children @var{name}
3635@end example
3636
3637Returns the number of children of a variable object @var{name}:
3638
3639@example
3640 numchild=@var{n}
3641@end example
fb40c209 3642
fb40c209 3643
7162c0ca
EZ
3644@subheading The @code{-var-list-children} Command
3645@findex -var-list-children
fb40c209 3646
7162c0ca 3647@subsubheading Synopsis
fb40c209 3648
7162c0ca
EZ
3649@example
3650 -var-list-children @var{name}
3651@end example
fb40c209 3652
7162c0ca 3653Returns a list of the children of the specified variable object:
fb40c209 3654
7162c0ca
EZ
3655@example
3656 numchild=@var{n},children=@{@{name=@var{name},
1c85fbd9 3657 numchild=@var{n},type=@var{type}@},@r{(repeats N times)}@}
7162c0ca 3658@end example
fb40c209 3659
fb40c209 3660
7162c0ca
EZ
3661@subheading The @code{-var-info-type} Command
3662@findex -var-info-type
fb40c209 3663
7162c0ca 3664@subsubheading Synopsis
fb40c209 3665
7162c0ca
EZ
3666@example
3667 -var-info-type @var{name}
3668@end example
fb40c209 3669
7162c0ca 3670Returns the type of the specified variable @var{name}. The type is
e7997b74
EZ
3671returned as a string in the same format as it is output by the
3672@value{GDBN} CLI:
fb40c209 3673
7162c0ca
EZ
3674@example
3675 type=@var{typename}
3676@end example
fb40c209 3677
fb40c209 3678
7162c0ca
EZ
3679@subheading The @code{-var-info-expression} Command
3680@findex -var-info-expression
fb40c209 3681
7162c0ca 3682@subsubheading Synopsis
fb40c209 3683
7162c0ca
EZ
3684@example
3685 -var-info-expression @var{name}
3686@end example
fb40c209 3687
7162c0ca 3688Returns what is represented by the variable object @var{name}:
fb40c209 3689
7162c0ca
EZ
3690@example
3691 lang=@var{lang-spec},exp=@var{expression}
3692@end example
fb40c209 3693
7162c0ca
EZ
3694@noindent
3695where @var{lang-spec} is @code{@{"C" | "C++" | "Java"@}}.
fb40c209 3696
7162c0ca
EZ
3697@subheading The @code{-var-show-attributes} Command
3698@findex -var-show-attributes
fb40c209 3699
7162c0ca 3700@subsubheading Synopsis
fb40c209 3701
7162c0ca
EZ
3702@example
3703 -var-show-attributes @var{name}
3704@end example
fb40c209 3705
7162c0ca 3706List attributes of the specified variable object @var{name}:
fb40c209 3707
7162c0ca
EZ
3708@example
3709 status=@var{attr} [ ( ,@var{attr} )* ]
3710@end example
fb40c209 3711
7162c0ca
EZ
3712@noindent
3713where @var{attr} is @code{@{ @{ editable | noneditable @} | TBD @}}.
fb40c209 3714
7162c0ca
EZ
3715@subheading The @code{-var-evaluate-expression} Command
3716@findex -var-evaluate-expression
fb40c209 3717
7162c0ca 3718@subsubheading Synopsis
fb40c209 3719
7162c0ca
EZ
3720@example
3721 -var-evaluate-expression @var{name}
3722@end example
fb40c209
AC
3723
3724Evaluates the expression that is represented by the specified variable
3725object and returns its value as a string in the current format specified
7162c0ca
EZ
3726for the object:
3727
3728@example
3729 value=@var{value}
3730@end example
3731
3732@subheading The @code{-var-assign} Command
3733@findex -var-assign
fb40c209 3734
7162c0ca 3735@subsubheading Synopsis
fb40c209 3736
7162c0ca
EZ
3737@example
3738 -var-assign @var{name} @var{expression}
3739@end example
fb40c209 3740
7162c0ca 3741Assigns the value of @var{expression} to the variable object specified
1c85fbd9 3742by @var{name}. The object must be @samp{editable}.
fb40c209 3743
7162c0ca
EZ
3744@subheading The @code{-var-update} Command
3745@findex -var-update
fb40c209 3746
7162c0ca
EZ
3747@subsubheading Synopsis
3748
3749@example
3750 -var-update @{@var{name} | "*"@}
3751@end example
fb40c209 3752
7162c0ca
EZ
3753Update the value of the variable object @var{name} by evaluating its
3754expression after fetching all the new values from memory or registers.
3755A @samp{*} causes all existing variable objects to be updated.
fb40c209 3756
fb40c209
AC
3757@c Local variables:
3758@c change-log-default-name: "ChangeLog-mi"
3759@c End:
This page took 0.28914 seconds and 4 git commands to generate.