annotate.info 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187
  1. This is annotate.info, produced by makeinfo version 5.2 from
  2. annotate.texinfo.
  3. Copyright (C) 1994-2019 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with no
  7. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
  8. Texts. A copy of the license is included in the section entitled "GNU
  9. Free Documentation License".
  10. INFO-DIR-SECTION Software development
  11. START-INFO-DIR-ENTRY
  12. * Annotate: (annotate). The obsolete annotation interface.
  13. END-INFO-DIR-ENTRY
  14. This file documents GDB's obsolete annotations.
  15. Copyright (C) 1994-2019 Free Software Foundation, Inc.
  16. Permission is granted to copy, distribute and/or modify this document
  17. under the terms of the GNU Free Documentation License, Version 1.3 or
  18. any later version published by the Free Software Foundation; with no
  19. Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
  20. Texts. A copy of the license is included in the section entitled "GNU
  21. Free Documentation License".
  22. 
  23. File: annotate.info, Node: Top, Next: Annotations Overview, Up: (dir)
  24. GDB Annotations
  25. ***************
  26. This document describes the obsolete level two annotation interface
  27. implemented in older GDB versions.
  28. * Menu:
  29. * Annotations Overview:: What annotations are; the general syntax.
  30. * Limitations:: Limitations of the annotation interface.
  31. * Migrating to GDB/MI:: Migrating to GDB/MI
  32. * Server Prefix:: Issuing a command without affecting user state.
  33. * Value Annotations:: Values are marked as such.
  34. * Frame Annotations:: Stack frames are annotated.
  35. * Displays:: GDB can be told to display something periodically.
  36. * Prompting:: Annotations marking GDB's need for input.
  37. * Errors:: Annotations for error messages.
  38. * Breakpoint Info:: Information on breakpoints.
  39. * Invalidation:: Some annotations describe things now invalid.
  40. * Annotations for Running::
  41. Whether the program is running, how it stopped, etc.
  42. * Source Annotations:: Annotations describing source code.
  43. * Multi-threaded Apps:: An annotation that reports multi-threadedness.
  44. * GNU Free Documentation License::
  45. 
  46. File: annotate.info, Node: Annotations Overview, Next: Limitations, Prev: Top, Up: Top
  47. 1 What is an Annotation?
  48. ************************
  49. To produce obsolete level two annotations, start GDB with the
  50. '--annotate=2' option.
  51. Annotations start with a newline character, two 'control-z'
  52. characters, and the name of the annotation. If there is no additional
  53. information associated with this annotation, the name of the annotation
  54. is followed immediately by a newline. If there is additional
  55. information, the name of the annotation is followed by a space, the
  56. additional information, and a newline. The additional information
  57. cannot contain newline characters.
  58. Any output not beginning with a newline and two 'control-z'
  59. characters denotes literal output from GDB. Currently there is no need
  60. for GDB to output a newline followed by two 'control-z' characters, but
  61. if there was such a need, the annotations could be extended with an
  62. 'escape' annotation which means those three characters as output.
  63. A simple example of starting up GDB with annotations is:
  64. $ gdb --annotate=2
  65. GNU GDB 5.0
  66. Copyright 2000 Free Software Foundation, Inc.
  67. GDB is free software, covered by the GNU General Public License,
  68. and you are welcome to change it and/or distribute copies of it
  69. under certain conditions.
  70. Type "show copying" to see the conditions.
  71. There is absolutely no warranty for GDB. Type "show warranty"
  72. for details.
  73. This GDB was configured as "sparc-sun-sunos4.1.3"
  74. ^Z^Zpre-prompt
  75. (gdb)
  76. ^Z^Zprompt
  77. quit
  78. ^Z^Zpost-prompt
  79. $
  80. Here 'quit' is input to GDB; the rest is output from GDB. The three
  81. lines beginning '^Z^Z' (where '^Z' denotes a 'control-z' character) are
  82. annotations; the rest is output from GDB.
  83. 
  84. File: annotate.info, Node: Limitations, Next: Migrating to GDB/MI, Prev: Annotations Overview, Up: Top
  85. 2 Limitations of the Annotation Interface
  86. *****************************************
  87. The level two annotations mechanism is known to have a number of
  88. technical and architectural limitations. As a consequence, in 2001,
  89. with the release of GDB 5.1 and the addition of GDB/MI, the annotation
  90. interface was marked as deprecated.
  91. This chapter discusses the known problems.
  92. 2.1 Dependant on CLI output
  93. ===========================
  94. The annotation interface works by interspersing markups with GDB normal
  95. command-line interpreter output. Unfortunately, this makes the
  96. annotation client dependant on not just the annotations, but also the
  97. CLI output. This is because the client is forced to assume that
  98. specific GDB commands provide specific information. Any change to GDB's
  99. CLI output modifies or removes that information and, consequently,
  100. likely breaks the client.
  101. Since the GDB/MI output is independent of the CLI, it does not have
  102. this problem.
  103. 2.2 Scalability
  104. ===============
  105. The annotation interface relies on value annotations (*note Value
  106. Annotations::) and the display mechanism as a way of obtaining
  107. up-to-date value information. These mechanisms are not scalable.
  108. In a graphical environment, where many values can be displayed
  109. simultaneously, a serious performance problem occurs when the client
  110. tries to first extract from GDB, and then re-display, all those values.
  111. The client should instead only request and update the values that
  112. changed.
  113. The GDB/MI Variable Objects provide just that mechanism.
  114. 2.3 Correctness
  115. ===============
  116. The annotation interface assumes that a variable's value can only be
  117. changed when the target is running. This assumption is not correct. A
  118. single assignment to a single variable can result in the entire target,
  119. and all displayed values, needing an update.
  120. The GDB/MI Variable Objects include a mechanism for efficiently
  121. reporting such changes.
  122. 2.4 Reliability
  123. ===============
  124. The GDB/MI interface includes a dedicated test directory ('gdb/gdb.mi'),
  125. and any addition or fix to GDB/MI must include testsuite changes.
  126. 2.5 Maintainability
  127. ===================
  128. The annotation mechanism was implemented by interspersing CLI print
  129. statements with various annotations. As a consequence, any CLI output
  130. change can alter the annotation output.
  131. Since the GDB/MI output is independent of the CLI, and the GDB/MI is
  132. increasingly implemented independent of the CLI code, its long term
  133. maintenance is much easier.
  134. 
  135. File: annotate.info, Node: Migrating to GDB/MI, Next: Server Prefix, Prev: Limitations, Up: Top
  136. 3 Migrating to GDB/MI
  137. *********************
  138. By using the 'interp mi' command, it is possible for annotation clients
  139. to invoke GDB/MI commands, and hence access the GDB/MI. By doing this,
  140. existing annotation clients have a migration path from this obsolete
  141. interface to GDB/MI.
  142. 
  143. File: annotate.info, Node: Server Prefix, Next: Value Annotations, Prev: Migrating to GDB/MI, Up: Top
  144. 4 The Server Prefix
  145. *******************
  146. To issue a command to GDB without affecting certain aspects of the state
  147. which is seen by users, prefix it with 'server '. This means that this
  148. command will not affect the command history, nor will it affect GDB's
  149. notion of which command to repeat if <RET> is pressed on a line by
  150. itself.
  151. The server prefix does not affect the recording of values into the
  152. value history; to print a value without recording it into the value
  153. history, use the 'output' command instead of the 'print' command.
  154. 
  155. File: annotate.info, Node: Value Annotations, Next: Frame Annotations, Prev: Server Prefix, Up: Top
  156. 5 Values
  157. ********
  158. _Value Annotations have been removed. GDB/MI instead provides Variable
  159. Objects._
  160. When a value is printed in various contexts, GDB uses annotations to
  161. delimit the value from the surrounding text.
  162. If a value is printed using 'print' and added to the value history,
  163. the annotation looks like
  164. ^Z^Zvalue-history-begin HISTORY-NUMBER VALUE-FLAGS
  165. HISTORY-STRING
  166. ^Z^Zvalue-history-value
  167. THE-VALUE
  168. ^Z^Zvalue-history-end
  169. where HISTORY-NUMBER is the number it is getting in the value history,
  170. HISTORY-STRING is a string, such as '$5 = ', which introduces the value
  171. to the user, THE-VALUE is the output corresponding to the value itself,
  172. and VALUE-FLAGS is '*' for a value which can be dereferenced and '-' for
  173. a value which cannot.
  174. If the value is not added to the value history (it is an invalid
  175. float or it is printed with the 'output' command), the annotation is
  176. similar:
  177. ^Z^Zvalue-begin VALUE-FLAGS
  178. THE-VALUE
  179. ^Z^Zvalue-end
  180. When GDB prints an argument to a function (for example, in the output
  181. from the 'backtrace' command), it annotates it as follows:
  182. ^Z^Zarg-begin
  183. ARGUMENT-NAME
  184. ^Z^Zarg-name-end
  185. SEPARATOR-STRING
  186. ^Z^Zarg-value VALUE-FLAGS
  187. THE-VALUE
  188. ^Z^Zarg-end
  189. where ARGUMENT-NAME is the name of the argument, SEPARATOR-STRING is
  190. text which separates the name from the value for the user's benefit
  191. (such as '='), and VALUE-FLAGS and THE-VALUE have the same meanings as
  192. in a 'value-history-begin' annotation.
  193. When printing a structure, GDB annotates it as follows:
  194. ^Z^Zfield-begin VALUE-FLAGS
  195. FIELD-NAME
  196. ^Z^Zfield-name-end
  197. SEPARATOR-STRING
  198. ^Z^Zfield-value
  199. THE-VALUE
  200. ^Z^Zfield-end
  201. where FIELD-NAME is the name of the field, SEPARATOR-STRING is text
  202. which separates the name from the value for the user's benefit (such as
  203. '='), and VALUE-FLAGS and THE-VALUE have the same meanings as in a
  204. 'value-history-begin' annotation.
  205. When printing an array, GDB annotates it as follows:
  206. ^Z^Zarray-section-begin ARRAY-INDEX VALUE-FLAGS
  207. where ARRAY-INDEX is the index of the first element being annotated and
  208. VALUE-FLAGS has the same meaning as in a 'value-history-begin'
  209. annotation. This is followed by any number of elements, where is
  210. element can be either a single element:
  211. ',' WHITESPACE ; omitted for the first element
  212. THE-VALUE
  213. ^Z^Zelt
  214. or a repeated element
  215. ',' WHITESPACE ; omitted for the first element
  216. THE-VALUE
  217. ^Z^Zelt-rep NUMBER-OF-REPETITIONS
  218. REPETITION-STRING
  219. ^Z^Zelt-rep-end
  220. In both cases, THE-VALUE is the output for the value of the element
  221. and WHITESPACE can contain spaces, tabs, and newlines. In the repeated
  222. case, NUMBER-OF-REPETITIONS is the number of consecutive array elements
  223. which contain that value, and REPETITION-STRING is a string which is
  224. designed to convey to the user that repetition is being depicted.
  225. Once all the array elements have been output, the array annotation is
  226. ended with
  227. ^Z^Zarray-section-end
  228. 
  229. File: annotate.info, Node: Frame Annotations, Next: Displays, Prev: Value Annotations, Up: Top
  230. 6 Frames
  231. ********
  232. _Value Annotations have been removed. GDB/MI instead provides a number
  233. of frame commands._
  234. _Frame annotations are no longer available. The GDB/MI provides
  235. '-stack-list-arguments', '-stack-list-locals', and '-stack-list-frames'
  236. commands._
  237. Whenever GDB prints a frame, it annotates it. For example, this
  238. applies to frames printed when GDB stops, output from commands such as
  239. 'backtrace' or 'up', etc.
  240. The frame annotation begins with
  241. ^Z^Zframe-begin LEVEL ADDRESS
  242. LEVEL-STRING
  243. where LEVEL is the number of the frame (0 is the innermost frame, and
  244. other frames have positive numbers), ADDRESS is the address of the code
  245. executing in that frame, and LEVEL-STRING is a string designed to convey
  246. the level to the user. ADDRESS is in the form '0x' followed by one or
  247. more lowercase hex digits (note that this does not depend on the
  248. language). The frame ends with
  249. ^Z^Zframe-end
  250. Between these annotations is the main body of the frame, which can
  251. consist of
  252. * ^Z^Zfunction-call
  253. FUNCTION-CALL-STRING
  254. where FUNCTION-CALL-STRING is text designed to convey to the user
  255. that this frame is associated with a function call made by GDB to a
  256. function in the program being debugged.
  257. * ^Z^Zsignal-handler-caller
  258. SIGNAL-HANDLER-CALLER-STRING
  259. where SIGNAL-HANDLER-CALLER-STRING is text designed to convey to
  260. the user that this frame is associated with whatever mechanism is
  261. used by this operating system to call a signal handler (it is the
  262. frame which calls the signal handler, not the frame for the signal
  263. handler itself).
  264. * A normal frame.
  265. This can optionally (depending on whether this is thought of as
  266. interesting information for the user to see) begin with
  267. ^Z^Zframe-address
  268. ADDRESS
  269. ^Z^Zframe-address-end
  270. SEPARATOR-STRING
  271. where ADDRESS is the address executing in the frame (the same
  272. address as in the 'frame-begin' annotation, but printed in a form
  273. which is intended for user consumption--in particular, the syntax
  274. varies depending on the language), and SEPARATOR-STRING is a string
  275. intended to separate this address from what follows for the user's
  276. benefit.
  277. Then comes
  278. ^Z^Zframe-function-name
  279. FUNCTION-NAME
  280. ^Z^Zframe-args
  281. ARGUMENTS
  282. where FUNCTION-NAME is the name of the function executing in the
  283. frame, or '??' if not known, and ARGUMENTS are the arguments to the
  284. frame, with parentheses around them (each argument is annotated
  285. individually as well, *note Value Annotations::).
  286. If source information is available, a reference to it is then
  287. printed:
  288. ^Z^Zframe-source-begin
  289. SOURCE-INTRO-STRING
  290. ^Z^Zframe-source-file
  291. FILENAME
  292. ^Z^Zframe-source-file-end
  293. :
  294. ^Z^Zframe-source-line
  295. LINE-NUMBER
  296. ^Z^Zframe-source-end
  297. where SOURCE-INTRO-STRING separates for the user's benefit the
  298. reference from the text which precedes it, FILENAME is the name of
  299. the source file, and LINE-NUMBER is the line number within that
  300. file (the first line is line 1).
  301. If GDB prints some information about where the frame is from (which
  302. library, which load segment, etc.; currently only done on the
  303. RS/6000), it is annotated with
  304. ^Z^Zframe-where
  305. INFORMATION
  306. Then, if source is to actually be displayed for this frame (for
  307. example, this is not true for output from the 'backtrace' command),
  308. then a 'source' annotation (*note Source Annotations::) is
  309. displayed. Unlike most annotations, this is output instead of the
  310. normal text which would be output, not in addition.
  311. 
  312. File: annotate.info, Node: Displays, Next: Prompting, Prev: Frame Annotations, Up: Top
  313. 7 Displays
  314. **********
  315. _Display Annotations have been removed. GDB/MI instead provides
  316. Variable Objects._
  317. When GDB is told to display something using the 'display' command,
  318. the results of the display are annotated:
  319. ^Z^Zdisplay-begin
  320. NUMBER
  321. ^Z^Zdisplay-number-end
  322. NUMBER-SEPARATOR
  323. ^Z^Zdisplay-format
  324. FORMAT
  325. ^Z^Zdisplay-expression
  326. EXPRESSION
  327. ^Z^Zdisplay-expression-end
  328. EXPRESSION-SEPARATOR
  329. ^Z^Zdisplay-value
  330. VALUE
  331. ^Z^Zdisplay-end
  332. where NUMBER is the number of the display, NUMBER-SEPARATOR is intended
  333. to separate the number from what follows for the user, FORMAT includes
  334. information such as the size, format, or other information about how the
  335. value is being displayed, EXPRESSION is the expression being displayed,
  336. EXPRESSION-SEPARATOR is intended to separate the expression from the
  337. text that follows for the user, and VALUE is the actual value being
  338. displayed.
  339. 
  340. File: annotate.info, Node: Prompting, Next: Errors, Prev: Displays, Up: Top
  341. 8 Annotation for GDB Input
  342. **************************
  343. When GDB prompts for input, it annotates this fact so it is possible to
  344. know when to send output, when the output from a given command is over,
  345. etc.
  346. Different kinds of input each have a different "input type". Each
  347. input type has three annotations: a 'pre-' annotation, which denotes the
  348. beginning of any prompt which is being output, a plain annotation, which
  349. denotes the end of the prompt, and then a 'post-' annotation which
  350. denotes the end of any echo which may (or may not) be associated with
  351. the input. For example, the 'prompt' input type features the following
  352. annotations:
  353. ^Z^Zpre-prompt
  354. ^Z^Zprompt
  355. ^Z^Zpost-prompt
  356. The input types are
  357. 'prompt'
  358. When GDB is prompting for a command (the main GDB prompt).
  359. 'commands'
  360. When GDB prompts for a set of commands, like in the 'commands'
  361. command. The annotations are repeated for each command which is
  362. input.
  363. 'overload-choice'
  364. When GDB wants the user to select between various overloaded
  365. functions.
  366. 'query'
  367. When GDB wants the user to confirm a potentially dangerous
  368. operation.
  369. 'prompt-for-continue'
  370. When GDB is asking the user to press return to continue. Note:
  371. Don't expect this to work well; instead use 'set height 0' to
  372. disable prompting. This is because the counting of lines is buggy
  373. in the presence of annotations.
  374. 
  375. File: annotate.info, Node: Errors, Next: Breakpoint Info, Prev: Prompting, Up: Top
  376. 9 Errors
  377. ********
  378. ^Z^Zquit
  379. This annotation occurs right before GDB responds to an interrupt.
  380. ^Z^Zerror
  381. This annotation occurs right before GDB responds to an error.
  382. Quit and error annotations indicate that any annotations which GDB
  383. was in the middle of may end abruptly. For example, if a
  384. 'value-history-begin' annotation is followed by a 'error', one cannot
  385. expect to receive the matching 'value-history-end'. One cannot expect
  386. not to receive it either, however; an error annotation does not
  387. necessarily mean that GDB is immediately returning all the way to the
  388. top level.
  389. A quit or error annotation may be preceded by
  390. ^Z^Zerror-begin
  391. Any output between that and the quit or error annotation is the error
  392. message.
  393. Warning messages are not yet annotated.
  394. 
  395. File: annotate.info, Node: Breakpoint Info, Next: Invalidation, Prev: Errors, Up: Top
  396. 10 Information on Breakpoints
  397. *****************************
  398. _Breakpoint Annotations have been removed. GDB/MI instead provides
  399. breakpoint commands._
  400. The output from the 'info breakpoints' command is annotated as
  401. follows:
  402. ^Z^Zbreakpoints-headers
  403. HEADER-ENTRY
  404. ^Z^Zbreakpoints-table
  405. where HEADER-ENTRY has the same syntax as an entry (see below) but
  406. instead of containing data, it contains strings which are intended to
  407. convey the meaning of each field to the user. This is followed by any
  408. number of entries. If a field does not apply for this entry, it is
  409. omitted. Fields may contain trailing whitespace. Each entry consists
  410. of:
  411. ^Z^Zrecord
  412. ^Z^Zfield 0
  413. NUMBER
  414. ^Z^Zfield 1
  415. TYPE
  416. ^Z^Zfield 2
  417. DISPOSITION
  418. ^Z^Zfield 3
  419. ENABLE
  420. ^Z^Zfield 4
  421. ADDRESS
  422. ^Z^Zfield 5
  423. WHAT
  424. ^Z^Zfield 6
  425. FRAME
  426. ^Z^Zfield 7
  427. CONDITION
  428. ^Z^Zfield 8
  429. IGNORE-COUNT
  430. ^Z^Zfield 9
  431. COMMANDS
  432. Note that ADDRESS is intended for user consumption--the syntax varies
  433. depending on the language.
  434. The output ends with
  435. ^Z^Zbreakpoints-table-end
  436. 
  437. File: annotate.info, Node: Invalidation, Next: Annotations for Running, Prev: Breakpoint Info, Up: Top
  438. 11 Invalidation Notices
  439. ***********************
  440. The following annotations say that certain pieces of state may have
  441. changed.
  442. '^Z^Zframes-invalid'
  443. The frames (for example, output from the 'backtrace' command) may
  444. have changed.
  445. '^Z^Zbreakpoints-invalid'
  446. The breakpoints may have changed. For example, the user just added
  447. or deleted a breakpoint.
  448. 
  449. File: annotate.info, Node: Annotations for Running, Next: Source Annotations, Prev: Invalidation, Up: Top
  450. 12 Running the Program
  451. **********************
  452. When the program starts executing due to a GDB command such as 'step' or
  453. 'continue',
  454. ^Z^Zstarting
  455. is output. When the program stops,
  456. ^Z^Zstopped
  457. is output. Before the 'stopped' annotation, a variety of annotations
  458. describe how the program stopped.
  459. '^Z^Zexited EXIT-STATUS'
  460. The program exited, and EXIT-STATUS is the exit status (zero for
  461. successful exit, otherwise nonzero).
  462. '^Z^Zsignalled'
  463. The program exited with a signal. After the '^Z^Zsignalled', the
  464. annotation continues:
  465. INTRO-TEXT
  466. ^Z^Zsignal-name
  467. NAME
  468. ^Z^Zsignal-name-end
  469. MIDDLE-TEXT
  470. ^Z^Zsignal-string
  471. STRING
  472. ^Z^Zsignal-string-end
  473. END-TEXT
  474. where NAME is the name of the signal, such as 'SIGILL' or
  475. 'SIGSEGV', and STRING is the explanation of the signal, such as
  476. 'Illegal Instruction' or 'Segmentation fault'. INTRO-TEXT,
  477. MIDDLE-TEXT, and END-TEXT are for the user's benefit and have no
  478. particular format.
  479. '^Z^Zsignal'
  480. The syntax of this annotation is just like 'signalled', but GDB is
  481. just saying that the program received the signal, not that it was
  482. terminated with it.
  483. '^Z^Zbreakpoint NUMBER'
  484. The program hit breakpoint number NUMBER.
  485. '^Z^Zwatchpoint NUMBER'
  486. The program hit watchpoint number NUMBER.
  487. 
  488. File: annotate.info, Node: Source Annotations, Next: Multi-threaded Apps, Prev: Annotations for Running, Up: Top
  489. 13 Displaying Source
  490. ********************
  491. The following annotation is used instead of displaying source code:
  492. ^Z^Zsource FILENAME:LINE:CHARACTER:MIDDLE:ADDR
  493. where FILENAME is an absolute file name indicating which source file,
  494. LINE is the line number within that file (where 1 is the first line in
  495. the file), CHARACTER is the character position within the file (where 0
  496. is the first character in the file) (for most debug formats this will
  497. necessarily point to the beginning of a line), MIDDLE is 'middle' if
  498. ADDR is in the middle of the line, or 'beg' if ADDR is at the beginning
  499. of the line, and ADDR is the address in the target program associated
  500. with the source which is being displayed. ADDR is in the form '0x'
  501. followed by one or more lowercase hex digits (note that this does not
  502. depend on the language).
  503. 
  504. File: annotate.info, Node: Multi-threaded Apps, Next: GNU Free Documentation License, Prev: Source Annotations, Up: Top
  505. 14 Multi-threaded Applications
  506. ******************************
  507. The following annotations report thread related changes of state.
  508. '^Z^Znew-thread'
  509. This annotation is issued once for each thread that is created
  510. apart from the main thread, which is not reported.
  511. '^Z^Zthread-changed'
  512. The selected thread has changed. This may occur at the request of
  513. the user with the 'thread' command, or as a result of execution,
  514. e.g., another thread hits a breakpoint.
  515. 
  516. File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threaded Apps, Up: Top
  517. Appendix A GNU Free Documentation License
  518. *****************************************
  519. Version 1.3, 3 November 2008
  520. Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
  521. <http://fsf.org/>
  522. Everyone is permitted to copy and distribute verbatim copies
  523. of this license document, but changing it is not allowed.
  524. 0. PREAMBLE
  525. The purpose of this License is to make a manual, textbook, or other
  526. functional and useful document "free" in the sense of freedom: to
  527. assure everyone the effective freedom to copy and redistribute it,
  528. with or without modifying it, either commercially or
  529. noncommercially. Secondarily, this License preserves for the
  530. author and publisher a way to get credit for their work, while not
  531. being considered responsible for modifications made by others.
  532. This License is a kind of "copyleft", which means that derivative
  533. works of the document must themselves be free in the same sense.
  534. It complements the GNU General Public License, which is a copyleft
  535. license designed for free software.
  536. We have designed this License in order to use it for manuals for
  537. free software, because free software needs free documentation: a
  538. free program should come with manuals providing the same freedoms
  539. that the software does. But this License is not limited to
  540. software manuals; it can be used for any textual work, regardless
  541. of subject matter or whether it is published as a printed book. We
  542. recommend this License principally for works whose purpose is
  543. instruction or reference.
  544. 1. APPLICABILITY AND DEFINITIONS
  545. This License applies to any manual or other work, in any medium,
  546. that contains a notice placed by the copyright holder saying it can
  547. be distributed under the terms of this License. Such a notice
  548. grants a world-wide, royalty-free license, unlimited in duration,
  549. to use that work under the conditions stated herein. The
  550. "Document", below, refers to any such manual or work. Any member
  551. of the public is a licensee, and is addressed as "you". You accept
  552. the license if you copy, modify or distribute the work in a way
  553. requiring permission under copyright law.
  554. A "Modified Version" of the Document means any work containing the
  555. Document or a portion of it, either copied verbatim, or with
  556. modifications and/or translated into another language.
  557. A "Secondary Section" is a named appendix or a front-matter section
  558. of the Document that deals exclusively with the relationship of the
  559. publishers or authors of the Document to the Document's overall
  560. subject (or to related matters) and contains nothing that could
  561. fall directly within that overall subject. (Thus, if the Document
  562. is in part a textbook of mathematics, a Secondary Section may not
  563. explain any mathematics.) The relationship could be a matter of
  564. historical connection with the subject or with related matters, or
  565. of legal, commercial, philosophical, ethical or political position
  566. regarding them.
  567. The "Invariant Sections" are certain Secondary Sections whose
  568. titles are designated, as being those of Invariant Sections, in the
  569. notice that says that the Document is released under this License.
  570. If a section does not fit the above definition of Secondary then it
  571. is not allowed to be designated as Invariant. The Document may
  572. contain zero Invariant Sections. If the Document does not identify
  573. any Invariant Sections then there are none.
  574. The "Cover Texts" are certain short passages of text that are
  575. listed, as Front-Cover Texts or Back-Cover Texts, in the notice
  576. that says that the Document is released under this License. A
  577. Front-Cover Text may be at most 5 words, and a Back-Cover Text may
  578. be at most 25 words.
  579. A "Transparent" copy of the Document means a machine-readable copy,
  580. represented in a format whose specification is available to the
  581. general public, that is suitable for revising the document
  582. straightforwardly with generic text editors or (for images composed
  583. of pixels) generic paint programs or (for drawings) some widely
  584. available drawing editor, and that is suitable for input to text
  585. formatters or for automatic translation to a variety of formats
  586. suitable for input to text formatters. A copy made in an otherwise
  587. Transparent file format whose markup, or absence of markup, has
  588. been arranged to thwart or discourage subsequent modification by
  589. readers is not Transparent. An image format is not Transparent if
  590. used for any substantial amount of text. A copy that is not
  591. "Transparent" is called "Opaque".
  592. Examples of suitable formats for Transparent copies include plain
  593. ASCII without markup, Texinfo input format, LaTeX input format,
  594. SGML or XML using a publicly available DTD, and standard-conforming
  595. simple HTML, PostScript or PDF designed for human modification.
  596. Examples of transparent image formats include PNG, XCF and JPG.
  597. Opaque formats include proprietary formats that can be read and
  598. edited only by proprietary word processors, SGML or XML for which
  599. the DTD and/or processing tools are not generally available, and
  600. the machine-generated HTML, PostScript or PDF produced by some word
  601. processors for output purposes only.
  602. The "Title Page" means, for a printed book, the title page itself,
  603. plus such following pages as are needed to hold, legibly, the
  604. material this License requires to appear in the title page. For
  605. works in formats which do not have any title page as such, "Title
  606. Page" means the text near the most prominent appearance of the
  607. work's title, preceding the beginning of the body of the text.
  608. The "publisher" means any person or entity that distributes copies
  609. of the Document to the public.
  610. A section "Entitled XYZ" means a named subunit of the Document
  611. whose title either is precisely XYZ or contains XYZ in parentheses
  612. following text that translates XYZ in another language. (Here XYZ
  613. stands for a specific section name mentioned below, such as
  614. "Acknowledgements", "Dedications", "Endorsements", or "History".)
  615. To "Preserve the Title" of such a section when you modify the
  616. Document means that it remains a section "Entitled XYZ" according
  617. to this definition.
  618. The Document may include Warranty Disclaimers next to the notice
  619. which states that this License applies to the Document. These
  620. Warranty Disclaimers are considered to be included by reference in
  621. this License, but only as regards disclaiming warranties: any other
  622. implication that these Warranty Disclaimers may have is void and
  623. has no effect on the meaning of this License.
  624. 2. VERBATIM COPYING
  625. You may copy and distribute the Document in any medium, either
  626. commercially or noncommercially, provided that this License, the
  627. copyright notices, and the license notice saying this License
  628. applies to the Document are reproduced in all copies, and that you
  629. add no other conditions whatsoever to those of this License. You
  630. may not use technical measures to obstruct or control the reading
  631. or further copying of the copies you make or distribute. However,
  632. you may accept compensation in exchange for copies. If you
  633. distribute a large enough number of copies you must also follow the
  634. conditions in section 3.
  635. You may also lend copies, under the same conditions stated above,
  636. and you may publicly display copies.
  637. 3. COPYING IN QUANTITY
  638. If you publish printed copies (or copies in media that commonly
  639. have printed covers) of the Document, numbering more than 100, and
  640. the Document's license notice requires Cover Texts, you must
  641. enclose the copies in covers that carry, clearly and legibly, all
  642. these Cover Texts: Front-Cover Texts on the front cover, and
  643. Back-Cover Texts on the back cover. Both covers must also clearly
  644. and legibly identify you as the publisher of these copies. The
  645. front cover must present the full title with all words of the title
  646. equally prominent and visible. You may add other material on the
  647. covers in addition. Copying with changes limited to the covers, as
  648. long as they preserve the title of the Document and satisfy these
  649. conditions, can be treated as verbatim copying in other respects.
  650. If the required texts for either cover are too voluminous to fit
  651. legibly, you should put the first ones listed (as many as fit
  652. reasonably) on the actual cover, and continue the rest onto
  653. adjacent pages.
  654. If you publish or distribute Opaque copies of the Document
  655. numbering more than 100, you must either include a machine-readable
  656. Transparent copy along with each Opaque copy, or state in or with
  657. each Opaque copy a computer-network location from which the general
  658. network-using public has access to download using public-standard
  659. network protocols a complete Transparent copy of the Document, free
  660. of added material. If you use the latter option, you must take
  661. reasonably prudent steps, when you begin distribution of Opaque
  662. copies in quantity, to ensure that this Transparent copy will
  663. remain thus accessible at the stated location until at least one
  664. year after the last time you distribute an Opaque copy (directly or
  665. through your agents or retailers) of that edition to the public.
  666. It is requested, but not required, that you contact the authors of
  667. the Document well before redistributing any large number of copies,
  668. to give them a chance to provide you with an updated version of the
  669. Document.
  670. 4. MODIFICATIONS
  671. You may copy and distribute a Modified Version of the Document
  672. under the conditions of sections 2 and 3 above, provided that you
  673. release the Modified Version under precisely this License, with the
  674. Modified Version filling the role of the Document, thus licensing
  675. distribution and modification of the Modified Version to whoever
  676. possesses a copy of it. In addition, you must do these things in
  677. the Modified Version:
  678. A. Use in the Title Page (and on the covers, if any) a title
  679. distinct from that of the Document, and from those of previous
  680. versions (which should, if there were any, be listed in the
  681. History section of the Document). You may use the same title
  682. as a previous version if the original publisher of that
  683. version gives permission.
  684. B. List on the Title Page, as authors, one or more persons or
  685. entities responsible for authorship of the modifications in
  686. the Modified Version, together with at least five of the
  687. principal authors of the Document (all of its principal
  688. authors, if it has fewer than five), unless they release you
  689. from this requirement.
  690. C. State on the Title page the name of the publisher of the
  691. Modified Version, as the publisher.
  692. D. Preserve all the copyright notices of the Document.
  693. E. Add an appropriate copyright notice for your modifications
  694. adjacent to the other copyright notices.
  695. F. Include, immediately after the copyright notices, a license
  696. notice giving the public permission to use the Modified
  697. Version under the terms of this License, in the form shown in
  698. the Addendum below.
  699. G. Preserve in that license notice the full lists of Invariant
  700. Sections and required Cover Texts given in the Document's
  701. license notice.
  702. H. Include an unaltered copy of this License.
  703. I. Preserve the section Entitled "History", Preserve its Title,
  704. and add to it an item stating at least the title, year, new
  705. authors, and publisher of the Modified Version as given on the
  706. Title Page. If there is no section Entitled "History" in the
  707. Document, create one stating the title, year, authors, and
  708. publisher of the Document as given on its Title Page, then add
  709. an item describing the Modified Version as stated in the
  710. previous sentence.
  711. J. Preserve the network location, if any, given in the Document
  712. for public access to a Transparent copy of the Document, and
  713. likewise the network locations given in the Document for
  714. previous versions it was based on. These may be placed in the
  715. "History" section. You may omit a network location for a work
  716. that was published at least four years before the Document
  717. itself, or if the original publisher of the version it refers
  718. to gives permission.
  719. K. For any section Entitled "Acknowledgements" or "Dedications",
  720. Preserve the Title of the section, and preserve in the section
  721. all the substance and tone of each of the contributor
  722. acknowledgements and/or dedications given therein.
  723. L. Preserve all the Invariant Sections of the Document, unaltered
  724. in their text and in their titles. Section numbers or the
  725. equivalent are not considered part of the section titles.
  726. M. Delete any section Entitled "Endorsements". Such a section
  727. may not be included in the Modified Version.
  728. N. Do not retitle any existing section to be Entitled
  729. "Endorsements" or to conflict in title with any Invariant
  730. Section.
  731. O. Preserve any Warranty Disclaimers.
  732. If the Modified Version includes new front-matter sections or
  733. appendices that qualify as Secondary Sections and contain no
  734. material copied from the Document, you may at your option designate
  735. some or all of these sections as invariant. To do this, add their
  736. titles to the list of Invariant Sections in the Modified Version's
  737. license notice. These titles must be distinct from any other
  738. section titles.
  739. You may add a section Entitled "Endorsements", provided it contains
  740. nothing but endorsements of your Modified Version by various
  741. parties--for example, statements of peer review or that the text
  742. has been approved by an organization as the authoritative
  743. definition of a standard.
  744. You may add a passage of up to five words as a Front-Cover Text,
  745. and a passage of up to 25 words as a Back-Cover Text, to the end of
  746. the list of Cover Texts in the Modified Version. Only one passage
  747. of Front-Cover Text and one of Back-Cover Text may be added by (or
  748. through arrangements made by) any one entity. If the Document
  749. already includes a cover text for the same cover, previously added
  750. by you or by arrangement made by the same entity you are acting on
  751. behalf of, you may not add another; but you may replace the old
  752. one, on explicit permission from the previous publisher that added
  753. the old one.
  754. The author(s) and publisher(s) of the Document do not by this
  755. License give permission to use their names for publicity for or to
  756. assert or imply endorsement of any Modified Version.
  757. 5. COMBINING DOCUMENTS
  758. You may combine the Document with other documents released under
  759. this License, under the terms defined in section 4 above for
  760. modified versions, provided that you include in the combination all
  761. of the Invariant Sections of all of the original documents,
  762. unmodified, and list them all as Invariant Sections of your
  763. combined work in its license notice, and that you preserve all
  764. their Warranty Disclaimers.
  765. The combined work need only contain one copy of this License, and
  766. multiple identical Invariant Sections may be replaced with a single
  767. copy. If there are multiple Invariant Sections with the same name
  768. but different contents, make the title of each such section unique
  769. by adding at the end of it, in parentheses, the name of the
  770. original author or publisher of that section if known, or else a
  771. unique number. Make the same adjustment to the section titles in
  772. the list of Invariant Sections in the license notice of the
  773. combined work.
  774. In the combination, you must combine any sections Entitled
  775. "History" in the various original documents, forming one section
  776. Entitled "History"; likewise combine any sections Entitled
  777. "Acknowledgements", and any sections Entitled "Dedications". You
  778. must delete all sections Entitled "Endorsements."
  779. 6. COLLECTIONS OF DOCUMENTS
  780. You may make a collection consisting of the Document and other
  781. documents released under this License, and replace the individual
  782. copies of this License in the various documents with a single copy
  783. that is included in the collection, provided that you follow the
  784. rules of this License for verbatim copying of each of the documents
  785. in all other respects.
  786. You may extract a single document from such a collection, and
  787. distribute it individually under this License, provided you insert
  788. a copy of this License into the extracted document, and follow this
  789. License in all other respects regarding verbatim copying of that
  790. document.
  791. 7. AGGREGATION WITH INDEPENDENT WORKS
  792. A compilation of the Document or its derivatives with other
  793. separate and independent documents or works, in or on a volume of a
  794. storage or distribution medium, is called an "aggregate" if the
  795. copyright resulting from the compilation is not used to limit the
  796. legal rights of the compilation's users beyond what the individual
  797. works permit. When the Document is included in an aggregate, this
  798. License does not apply to the other works in the aggregate which
  799. are not themselves derivative works of the Document.
  800. If the Cover Text requirement of section 3 is applicable to these
  801. copies of the Document, then if the Document is less than one half
  802. of the entire aggregate, the Document's Cover Texts may be placed
  803. on covers that bracket the Document within the aggregate, or the
  804. electronic equivalent of covers if the Document is in electronic
  805. form. Otherwise they must appear on printed covers that bracket
  806. the whole aggregate.
  807. 8. TRANSLATION
  808. Translation is considered a kind of modification, so you may
  809. distribute translations of the Document under the terms of section
  810. 4. Replacing Invariant Sections with translations requires special
  811. permission from their copyright holders, but you may include
  812. translations of some or all Invariant Sections in addition to the
  813. original versions of these Invariant Sections. You may include a
  814. translation of this License, and all the license notices in the
  815. Document, and any Warranty Disclaimers, provided that you also
  816. include the original English version of this License and the
  817. original versions of those notices and disclaimers. In case of a
  818. disagreement between the translation and the original version of
  819. this License or a notice or disclaimer, the original version will
  820. prevail.
  821. If a section in the Document is Entitled "Acknowledgements",
  822. "Dedications", or "History", the requirement (section 4) to
  823. Preserve its Title (section 1) will typically require changing the
  824. actual title.
  825. 9. TERMINATION
  826. You may not copy, modify, sublicense, or distribute the Document
  827. except as expressly provided under this License. Any attempt
  828. otherwise to copy, modify, sublicense, or distribute it is void,
  829. and will automatically terminate your rights under this License.
  830. However, if you cease all violation of this License, then your
  831. license from a particular copyright holder is reinstated (a)
  832. provisionally, unless and until the copyright holder explicitly and
  833. finally terminates your license, and (b) permanently, if the
  834. copyright holder fails to notify you of the violation by some
  835. reasonable means prior to 60 days after the cessation.
  836. Moreover, your license from a particular copyright holder is
  837. reinstated permanently if the copyright holder notifies you of the
  838. violation by some reasonable means, this is the first time you have
  839. received notice of violation of this License (for any work) from
  840. that copyright holder, and you cure the violation prior to 30 days
  841. after your receipt of the notice.
  842. Termination of your rights under this section does not terminate
  843. the licenses of parties who have received copies or rights from you
  844. under this License. If your rights have been terminated and not
  845. permanently reinstated, receipt of a copy of some or all of the
  846. same material does not give you any rights to use it.
  847. 10. FUTURE REVISIONS OF THIS LICENSE
  848. The Free Software Foundation may publish new, revised versions of
  849. the GNU Free Documentation License from time to time. Such new
  850. versions will be similar in spirit to the present version, but may
  851. differ in detail to address new problems or concerns. See
  852. <http://www.gnu.org/copyleft/>.
  853. Each version of the License is given a distinguishing version
  854. number. If the Document specifies that a particular numbered
  855. version of this License "or any later version" applies to it, you
  856. have the option of following the terms and conditions either of
  857. that specified version or of any later version that has been
  858. published (not as a draft) by the Free Software Foundation. If the
  859. Document does not specify a version number of this License, you may
  860. choose any version ever published (not as a draft) by the Free
  861. Software Foundation. If the Document specifies that a proxy can
  862. decide which future versions of this License can be used, that
  863. proxy's public statement of acceptance of a version permanently
  864. authorizes you to choose that version for the Document.
  865. 11. RELICENSING
  866. "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
  867. World Wide Web server that publishes copyrightable works and also
  868. provides prominent facilities for anybody to edit those works. A
  869. public wiki that anybody can edit is an example of such a server.
  870. A "Massive Multiauthor Collaboration" (or "MMC") contained in the
  871. site means any set of copyrightable works thus published on the MMC
  872. site.
  873. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
  874. license published by Creative Commons Corporation, a not-for-profit
  875. corporation with a principal place of business in San Francisco,
  876. California, as well as future copyleft versions of that license
  877. published by that same organization.
  878. "Incorporate" means to publish or republish a Document, in whole or
  879. in part, as part of another Document.
  880. An MMC is "eligible for relicensing" if it is licensed under this
  881. License, and if all works that were first published under this
  882. License somewhere other than this MMC, and subsequently
  883. incorporated in whole or in part into the MMC, (1) had no cover
  884. texts or invariant sections, and (2) were thus incorporated prior
  885. to November 1, 2008.
  886. The operator of an MMC Site may republish an MMC contained in the
  887. site under CC-BY-SA on the same site at any time before August 1,
  888. 2009, provided the MMC is eligible for relicensing.
  889. ADDENDUM: How to use this License for your documents
  890. ====================================================
  891. To use this License in a document you have written, include a copy of
  892. the License in the document and put the following copyright and license
  893. notices just after the title page:
  894. Copyright (C) YEAR YOUR NAME.
  895. Permission is granted to copy, distribute and/or modify this document
  896. under the terms of the GNU Free Documentation License, Version 1.3
  897. or any later version published by the Free Software Foundation;
  898. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  899. Texts. A copy of the license is included in the section entitled ``GNU
  900. Free Documentation License''.
  901. If you have Invariant Sections, Front-Cover Texts and Back-Cover
  902. Texts, replace the "with...Texts." line with this:
  903. with the Invariant Sections being LIST THEIR TITLES, with
  904. the Front-Cover Texts being LIST, and with the Back-Cover Texts
  905. being LIST.
  906. If you have Invariant Sections without Cover Texts, or some other
  907. combination of the three, merge those two alternatives to suit the
  908. situation.
  909. If your document contains nontrivial examples of program code, we
  910. recommend releasing these examples in parallel under your choice of free
  911. software license, such as the GNU General Public License, to permit
  912. their use in free software.
  913. 
  914. Tag Table:
  915. Node: Top1166
  916. Node: Annotations Overview2336
  917. Node: Limitations4135
  918. Node: Migrating to GDB/MI6720
  919. Node: Server Prefix7103
  920. Node: Value Annotations7749
  921. Node: Frame Annotations10919
  922. Node: Displays14818
  923. Node: Prompting15849
  924. Node: Errors17352
  925. Node: Breakpoint Info18242
  926. Node: Invalidation19467
  927. Node: Annotations for Running19948
  928. Node: Source Annotations21461
  929. Node: Multi-threaded Apps22407
  930. Node: GNU Free Documentation License23017
  931. 
  932. End Tag Table