Symbols-In-Python.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 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 the
  7. Invariant Sections being "Free Software" and "Free Software Needs
  8. Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
  9. and with the Back-Cover Texts as in (a) below.
  10. (a) The FSF's Back-Cover Text is: "You are free to copy and modify
  11. this GNU Manual. Buying copies from GNU Press supports the FSF in
  12. developing GNU and promoting software freedom." -->
  13. <!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <title>Debugging with GDB: Symbols In Python</title>
  16. <meta name="description" content="Debugging with GDB: Symbols In Python">
  17. <meta name="keywords" content="Debugging with GDB: Symbols In Python">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  22. <link href="index.html#Top" rel="start" title="Top">
  23. <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
  24. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  25. <link href="Python-API.html#Python-API" rel="up" title="Python API">
  26. <link href="Symbol-Tables-In-Python.html#Symbol-Tables-In-Python" rel="next" title="Symbol Tables In Python">
  27. <link href="Blocks-In-Python.html#Blocks-In-Python" rel="previous" title="Blocks In Python">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.smallquotation {font-size: smaller}
  32. div.display {margin-left: 3.2em}
  33. div.example {margin-left: 3.2em}
  34. div.indentedblock {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  39. div.smalllisp {margin-left: 3.2em}
  40. kbd {font-style:oblique}
  41. pre.display {font-family: inherit}
  42. pre.format {font-family: inherit}
  43. pre.menu-comment {font-family: serif}
  44. pre.menu-preformatted {font-family: serif}
  45. pre.smalldisplay {font-family: inherit; font-size: smaller}
  46. pre.smallexample {font-size: smaller}
  47. pre.smallformat {font-family: inherit; font-size: smaller}
  48. pre.smalllisp {font-size: smaller}
  49. span.nocodebreak {white-space:nowrap}
  50. span.nolinebreak {white-space:nowrap}
  51. span.roman {font-family:serif; font-weight:normal}
  52. span.sansserif {font-family:sans-serif; font-weight:normal}
  53. ul.no-bullet {list-style: none}
  54. -->
  55. </style>
  56. </head>
  57. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  58. <a name="Symbols-In-Python"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="Symbol-Tables-In-Python.html#Symbol-Tables-In-Python" accesskey="n" rel="next">Symbol Tables In Python</a>, Previous: <a href="Blocks-In-Python.html#Blocks-In-Python" accesskey="p" rel="previous">Blocks In Python</a>, Up: <a href="Python-API.html#Python-API" accesskey="u" rel="up">Python API</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
  62. </div>
  63. <hr>
  64. <a name="Python-representation-of-Symbols"></a>
  65. <h4 class="subsubsection">23.2.2.27 Python representation of Symbols</h4>
  66. <a name="index-symbols-in-python"></a>
  67. <a name="index-gdb_002eSymbol"></a>
  68. <p><small>GDB</small> represents every variable, function and type as an
  69. entry in a symbol table. See <a href="Symbols.html#Symbols">Examining the Symbol Table</a>.
  70. Similarly, Python represents these symbols in <small>GDB</small> with the
  71. <code>gdb.Symbol</code> object.
  72. </p>
  73. <p>The following symbol-related functions are available in the <code>gdb</code>
  74. module:
  75. </p>
  76. <a name="index-gdb_002elookup_005fsymbol"></a>
  77. <dl>
  78. <dt><a name="index-gdb_002elookup_005fsymbol-1"></a>Function: <strong>gdb.lookup_symbol</strong> <em>(name <span class="roman">[</span>, block <span class="roman">[</span>, domain<span class="roman">]]</span>)</em></dt>
  79. <dd><p>This function searches for a symbol by name. The search scope can be
  80. restricted to the parameters defined in the optional domain and block
  81. arguments.
  82. </p>
  83. <p><var>name</var> is the name of the symbol. It must be a string. The
  84. optional <var>block</var> argument restricts the search to symbols visible
  85. in that <var>block</var>. The <var>block</var> argument must be a
  86. <code>gdb.Block</code> object. If omitted, the block for the current frame
  87. is used. The optional <var>domain</var> argument restricts
  88. the search to the domain type. The <var>domain</var> argument must be a
  89. domain constant defined in the <code>gdb</code> module and described later
  90. in this chapter.
  91. </p>
  92. <p>The result is a tuple of two elements.
  93. The first element is a <code>gdb.Symbol</code> object or <code>None</code> if the symbol
  94. is not found.
  95. If the symbol is found, the second element is <code>True</code> if the symbol
  96. is a field of a method&rsquo;s object (e.g., <code>this</code> in C<tt>++</tt>),
  97. otherwise it is <code>False</code>.
  98. If the symbol is not found, the second element is <code>False</code>.
  99. </p></dd></dl>
  100. <a name="index-gdb_002elookup_005fglobal_005fsymbol"></a>
  101. <dl>
  102. <dt><a name="index-gdb_002elookup_005fglobal_005fsymbol-1"></a>Function: <strong>gdb.lookup_global_symbol</strong> <em>(name <span class="roman">[</span>, domain<span class="roman">]</span>)</em></dt>
  103. <dd><p>This function searches for a global symbol by name.
  104. The search scope can be restricted to by the domain argument.
  105. </p>
  106. <p><var>name</var> is the name of the symbol. It must be a string.
  107. The optional <var>domain</var> argument restricts the search to the domain type.
  108. The <var>domain</var> argument must be a domain constant defined in the <code>gdb</code>
  109. module and described later in this chapter.
  110. </p>
  111. <p>The result is a <code>gdb.Symbol</code> object or <code>None</code> if the symbol
  112. is not found.
  113. </p></dd></dl>
  114. <a name="index-gdb_002elookup_005fstatic_005fsymbol"></a>
  115. <dl>
  116. <dt><a name="index-gdb_002elookup_005fstatic_005fsymbol-1"></a>Function: <strong>gdb.lookup_static_symbol</strong> <em>(name <span class="roman">[</span>, domain<span class="roman">]</span>)</em></dt>
  117. <dd><p>This function searches for a global symbol with static linkage by name.
  118. The search scope can be restricted to by the domain argument.
  119. </p>
  120. <p><var>name</var> is the name of the symbol. It must be a string.
  121. The optional <var>domain</var> argument restricts the search to the domain type.
  122. The <var>domain</var> argument must be a domain constant defined in the <code>gdb</code>
  123. module and described later in this chapter.
  124. </p>
  125. <p>The result is a <code>gdb.Symbol</code> object or <code>None</code> if the symbol
  126. is not found.
  127. </p>
  128. <p>Note that this function will not find function-scoped static variables. To look
  129. up such variables, iterate over the variables of the function&rsquo;s
  130. <code>gdb.Block</code> and check that <code>block.addr_class</code> is
  131. <code>gdb.SYMBOL_LOC_STATIC</code>.
  132. </p>
  133. <p>There can be multiple global symbols with static linkage with the same
  134. name. This function will only return the first matching symbol that
  135. it finds. Which symbol is found depends on where <small>GDB</small> is
  136. currently stopped, as <small>GDB</small> will first search for matching
  137. symbols in the current object file, and then search all other object
  138. files. If the application is not yet running then <small>GDB</small> will
  139. search all object files in the order they appear in the debug
  140. information.
  141. </p></dd></dl>
  142. <a name="index-gdb_002elookup_005fstatic_005fsymbols"></a>
  143. <dl>
  144. <dt><a name="index-gdb_002elookup_005fstatic_005fsymbols-1"></a>Function: <strong>gdb.lookup_static_symbols</strong> <em>(name <span class="roman">[</span>, domain<span class="roman">]</span>)</em></dt>
  145. <dd><p>Similar to <code>gdb.lookup_static_symbol</code>, this function searches for
  146. global symbols with static linkage by name, and optionally restricted
  147. by the domain argument. However, this function returns a list of all
  148. matching symbols found, not just the first one.
  149. </p>
  150. <p><var>name</var> is the name of the symbol. It must be a string.
  151. The optional <var>domain</var> argument restricts the search to the domain type.
  152. The <var>domain</var> argument must be a domain constant defined in the <code>gdb</code>
  153. module and described later in this chapter.
  154. </p>
  155. <p>The result is a list of <code>gdb.Symbol</code> objects which could be empty
  156. if no matching symbols were found.
  157. </p>
  158. <p>Note that this function will not find function-scoped static variables. To look
  159. up such variables, iterate over the variables of the function&rsquo;s
  160. <code>gdb.Block</code> and check that <code>block.addr_class</code> is
  161. <code>gdb.SYMBOL_LOC_STATIC</code>.
  162. </p></dd></dl>
  163. <p>A <code>gdb.Symbol</code> object has the following attributes:
  164. </p>
  165. <dl>
  166. <dt><a name="index-Symbol_002etype"></a>Variable: <strong>Symbol.type</strong></dt>
  167. <dd><p>The type of the symbol or <code>None</code> if no type is recorded.
  168. This attribute is represented as a <code>gdb.Type</code> object.
  169. See <a href="Types-In-Python.html#Types-In-Python">Types In Python</a>. This attribute is not writable.
  170. </p></dd></dl>
  171. <dl>
  172. <dt><a name="index-Symbol_002esymtab"></a>Variable: <strong>Symbol.symtab</strong></dt>
  173. <dd><p>The symbol table in which the symbol appears. This attribute is
  174. represented as a <code>gdb.Symtab</code> object. See <a href="Symbol-Tables-In-Python.html#Symbol-Tables-In-Python">Symbol Tables In Python</a>. This attribute is not writable.
  175. </p></dd></dl>
  176. <dl>
  177. <dt><a name="index-Symbol_002eline"></a>Variable: <strong>Symbol.line</strong></dt>
  178. <dd><p>The line number in the source code at which the symbol was defined.
  179. This is an integer.
  180. </p></dd></dl>
  181. <dl>
  182. <dt><a name="index-Symbol_002ename"></a>Variable: <strong>Symbol.name</strong></dt>
  183. <dd><p>The name of the symbol as a string. This attribute is not writable.
  184. </p></dd></dl>
  185. <dl>
  186. <dt><a name="index-Symbol_002elinkage_005fname"></a>Variable: <strong>Symbol.linkage_name</strong></dt>
  187. <dd><p>The name of the symbol, as used by the linker (i.e., may be mangled).
  188. This attribute is not writable.
  189. </p></dd></dl>
  190. <dl>
  191. <dt><a name="index-Symbol_002eprint_005fname"></a>Variable: <strong>Symbol.print_name</strong></dt>
  192. <dd><p>The name of the symbol in a form suitable for output. This is either
  193. <code>name</code> or <code>linkage_name</code>, depending on whether the user
  194. asked <small>GDB</small> to display demangled or mangled names.
  195. </p></dd></dl>
  196. <dl>
  197. <dt><a name="index-Symbol_002eaddr_005fclass"></a>Variable: <strong>Symbol.addr_class</strong></dt>
  198. <dd><p>The address class of the symbol. This classifies how to find the value
  199. of a symbol. Each address class is a constant defined in the
  200. <code>gdb</code> module and described later in this chapter.
  201. </p></dd></dl>
  202. <dl>
  203. <dt><a name="index-Symbol_002eneeds_005fframe"></a>Variable: <strong>Symbol.needs_frame</strong></dt>
  204. <dd><p>This is <code>True</code> if evaluating this symbol&rsquo;s value requires a frame
  205. (see <a href="Frames-In-Python.html#Frames-In-Python">Frames In Python</a>) and <code>False</code> otherwise. Typically,
  206. local variables will require a frame, but other symbols will not.
  207. </p></dd></dl>
  208. <dl>
  209. <dt><a name="index-Symbol_002eis_005fargument"></a>Variable: <strong>Symbol.is_argument</strong></dt>
  210. <dd><p><code>True</code> if the symbol is an argument of a function.
  211. </p></dd></dl>
  212. <dl>
  213. <dt><a name="index-Symbol_002eis_005fconstant"></a>Variable: <strong>Symbol.is_constant</strong></dt>
  214. <dd><p><code>True</code> if the symbol is a constant.
  215. </p></dd></dl>
  216. <dl>
  217. <dt><a name="index-Symbol_002eis_005ffunction"></a>Variable: <strong>Symbol.is_function</strong></dt>
  218. <dd><p><code>True</code> if the symbol is a function or a method.
  219. </p></dd></dl>
  220. <dl>
  221. <dt><a name="index-Symbol_002eis_005fvariable"></a>Variable: <strong>Symbol.is_variable</strong></dt>
  222. <dd><p><code>True</code> if the symbol is a variable.
  223. </p></dd></dl>
  224. <p>A <code>gdb.Symbol</code> object has the following methods:
  225. </p>
  226. <dl>
  227. <dt><a name="index-Symbol_002eis_005fvalid"></a>Function: <strong>Symbol.is_valid</strong> <em>()</em></dt>
  228. <dd><p>Returns <code>True</code> if the <code>gdb.Symbol</code> object is valid,
  229. <code>False</code> if not. A <code>gdb.Symbol</code> object can become invalid if
  230. the symbol it refers to does not exist in <small>GDB</small> any longer.
  231. All other <code>gdb.Symbol</code> methods will throw an exception if it is
  232. invalid at the time the method is called.
  233. </p></dd></dl>
  234. <dl>
  235. <dt><a name="index-Symbol_002evalue"></a>Function: <strong>Symbol.value</strong> <em>(<span class="roman">[</span>frame<span class="roman">]</span>)</em></dt>
  236. <dd><p>Compute the value of the symbol, as a <code>gdb.Value</code>. For
  237. functions, this computes the address of the function, cast to the
  238. appropriate type. If the symbol requires a frame in order to compute
  239. its value, then <var>frame</var> must be given. If <var>frame</var> is not
  240. given, or if <var>frame</var> is invalid, then this method will throw an
  241. exception.
  242. </p></dd></dl>
  243. <p>The available domain categories in <code>gdb.Symbol</code> are represented
  244. as constants in the <code>gdb</code> module:
  245. </p>
  246. <dl compact="compact">
  247. <dd><a name="index-SYMBOL_005fUNDEF_005fDOMAIN"></a>
  248. </dd>
  249. <dt><code>gdb.SYMBOL_UNDEF_DOMAIN</code>
  250. <a name="index-gdb_002eSYMBOL_005fUNDEF_005fDOMAIN"></a>
  251. </dt>
  252. <dd><p>This is used when a domain has not been discovered or none of the
  253. following domains apply. This usually indicates an error either
  254. in the symbol information or in <small>GDB</small>&rsquo;s handling of symbols.
  255. </p>
  256. <a name="index-SYMBOL_005fVAR_005fDOMAIN"></a>
  257. </dd>
  258. <dt><code>gdb.SYMBOL_VAR_DOMAIN</code>
  259. <a name="index-gdb_002eSYMBOL_005fVAR_005fDOMAIN"></a>
  260. </dt>
  261. <dd><p>This domain contains variables, function names, typedef names and enum
  262. type values.
  263. </p>
  264. <a name="index-SYMBOL_005fSTRUCT_005fDOMAIN"></a>
  265. </dd>
  266. <dt><code>gdb.SYMBOL_STRUCT_DOMAIN</code>
  267. <a name="index-gdb_002eSYMBOL_005fSTRUCT_005fDOMAIN"></a>
  268. </dt>
  269. <dd><p>This domain holds struct, union and enum type names.
  270. </p>
  271. <a name="index-SYMBOL_005fLABEL_005fDOMAIN"></a>
  272. </dd>
  273. <dt><code>gdb.SYMBOL_LABEL_DOMAIN</code>
  274. <a name="index-gdb_002eSYMBOL_005fLABEL_005fDOMAIN"></a>
  275. </dt>
  276. <dd><p>This domain contains names of labels (for gotos).
  277. </p>
  278. <a name="index-SYMBOL_005fMODULE_005fDOMAIN"></a>
  279. </dd>
  280. <dt><code>gdb.SYMBOL_MODULE_DOMAIN</code>
  281. <a name="index-gdb_002eSYMBOL_005fMODULE_005fDOMAIN"></a>
  282. </dt>
  283. <dd><p>This domain contains names of Fortran module types.
  284. </p>
  285. <a name="index-SYMBOL_005fCOMMON_005fBLOCK_005fDOMAIN"></a>
  286. </dd>
  287. <dt><code>gdb.SYMBOL_COMMON_BLOCK_DOMAIN</code>
  288. <a name="index-gdb_002eSYMBOL_005fCOMMON_005fBLOCK_005fDOMAIN"></a>
  289. </dt>
  290. <dd><p>This domain contains names of Fortran common blocks.
  291. </p></dd>
  292. </dl>
  293. <p>The available address class categories in <code>gdb.Symbol</code> are represented
  294. as constants in the <code>gdb</code> module:
  295. </p>
  296. <dl compact="compact">
  297. <dd><a name="index-SYMBOL_005fLOC_005fUNDEF"></a>
  298. </dd>
  299. <dt><code>gdb.SYMBOL_LOC_UNDEF</code>
  300. <a name="index-gdb_002eSYMBOL_005fLOC_005fUNDEF"></a>
  301. </dt>
  302. <dd><p>If this is returned by address class, it indicates an error either in
  303. the symbol information or in <small>GDB</small>&rsquo;s handling of symbols.
  304. </p>
  305. <a name="index-SYMBOL_005fLOC_005fCONST"></a>
  306. </dd>
  307. <dt><code>gdb.SYMBOL_LOC_CONST</code>
  308. <a name="index-gdb_002eSYMBOL_005fLOC_005fCONST"></a>
  309. </dt>
  310. <dd><p>Value is constant int.
  311. </p>
  312. <a name="index-SYMBOL_005fLOC_005fSTATIC"></a>
  313. </dd>
  314. <dt><code>gdb.SYMBOL_LOC_STATIC</code>
  315. <a name="index-gdb_002eSYMBOL_005fLOC_005fSTATIC"></a>
  316. </dt>
  317. <dd><p>Value is at a fixed address.
  318. </p>
  319. <a name="index-SYMBOL_005fLOC_005fREGISTER"></a>
  320. </dd>
  321. <dt><code>gdb.SYMBOL_LOC_REGISTER</code>
  322. <a name="index-gdb_002eSYMBOL_005fLOC_005fREGISTER"></a>
  323. </dt>
  324. <dd><p>Value is in a register.
  325. </p>
  326. <a name="index-SYMBOL_005fLOC_005fARG"></a>
  327. </dd>
  328. <dt><code>gdb.SYMBOL_LOC_ARG</code>
  329. <a name="index-gdb_002eSYMBOL_005fLOC_005fARG"></a>
  330. </dt>
  331. <dd><p>Value is an argument. This value is at the offset stored within the
  332. symbol inside the frame&rsquo;s argument list.
  333. </p>
  334. <a name="index-SYMBOL_005fLOC_005fREF_005fARG"></a>
  335. </dd>
  336. <dt><code>gdb.SYMBOL_LOC_REF_ARG</code>
  337. <a name="index-gdb_002eSYMBOL_005fLOC_005fREF_005fARG"></a>
  338. </dt>
  339. <dd><p>Value address is stored in the frame&rsquo;s argument list. Just like
  340. <code>LOC_ARG</code> except that the value&rsquo;s address is stored at the
  341. offset, not the value itself.
  342. </p>
  343. <a name="index-SYMBOL_005fLOC_005fREGPARM_005fADDR"></a>
  344. </dd>
  345. <dt><code>gdb.SYMBOL_LOC_REGPARM_ADDR</code>
  346. <a name="index-gdb_002eSYMBOL_005fLOC_005fREGPARM_005fADDR"></a>
  347. </dt>
  348. <dd><p>Value is a specified register. Just like <code>LOC_REGISTER</code> except
  349. the register holds the address of the argument instead of the argument
  350. itself.
  351. </p>
  352. <a name="index-SYMBOL_005fLOC_005fLOCAL"></a>
  353. </dd>
  354. <dt><code>gdb.SYMBOL_LOC_LOCAL</code>
  355. <a name="index-gdb_002eSYMBOL_005fLOC_005fLOCAL"></a>
  356. </dt>
  357. <dd><p>Value is a local variable.
  358. </p>
  359. <a name="index-SYMBOL_005fLOC_005fTYPEDEF"></a>
  360. </dd>
  361. <dt><code>gdb.SYMBOL_LOC_TYPEDEF</code>
  362. <a name="index-gdb_002eSYMBOL_005fLOC_005fTYPEDEF"></a>
  363. </dt>
  364. <dd><p>Value not used. Symbols in the domain <code>SYMBOL_STRUCT_DOMAIN</code> all
  365. have this class.
  366. </p>
  367. <a name="index-SYMBOL_005fLOC_005fBLOCK"></a>
  368. </dd>
  369. <dt><code>gdb.SYMBOL_LOC_BLOCK</code>
  370. <a name="index-gdb_002eSYMBOL_005fLOC_005fBLOCK"></a>
  371. </dt>
  372. <dd><p>Value is a block.
  373. </p>
  374. <a name="index-SYMBOL_005fLOC_005fCONST_005fBYTES"></a>
  375. </dd>
  376. <dt><code>gdb.SYMBOL_LOC_CONST_BYTES</code>
  377. <a name="index-gdb_002eSYMBOL_005fLOC_005fCONST_005fBYTES"></a>
  378. </dt>
  379. <dd><p>Value is a byte-sequence.
  380. </p>
  381. <a name="index-SYMBOL_005fLOC_005fUNRESOLVED"></a>
  382. </dd>
  383. <dt><code>gdb.SYMBOL_LOC_UNRESOLVED</code>
  384. <a name="index-gdb_002eSYMBOL_005fLOC_005fUNRESOLVED"></a>
  385. </dt>
  386. <dd><p>Value is at a fixed address, but the address of the variable has to be
  387. determined from the minimal symbol table whenever the variable is
  388. referenced.
  389. </p>
  390. <a name="index-SYMBOL_005fLOC_005fOPTIMIZED_005fOUT"></a>
  391. </dd>
  392. <dt><code>gdb.SYMBOL_LOC_OPTIMIZED_OUT</code>
  393. <a name="index-gdb_002eSYMBOL_005fLOC_005fOPTIMIZED_005fOUT"></a>
  394. </dt>
  395. <dd><p>The value does not actually exist in the program.
  396. </p>
  397. <a name="index-SYMBOL_005fLOC_005fCOMPUTED"></a>
  398. </dd>
  399. <dt><code>gdb.SYMBOL_LOC_COMPUTED</code>
  400. <a name="index-gdb_002eSYMBOL_005fLOC_005fCOMPUTED"></a>
  401. </dt>
  402. <dd><p>The value&rsquo;s address is a computed location.
  403. </p>
  404. <a name="index-SYMBOL_005fLOC_005fCOMPUTED-1"></a>
  405. </dd>
  406. <dt><code>gdb.SYMBOL_LOC_COMPUTED</code>
  407. <a name="index-gdb_002eSYMBOL_005fLOC_005fCOMPUTED-1"></a>
  408. </dt>
  409. <dd><p>The value&rsquo;s address is a symbol. This is only used for Fortran common
  410. blocks.
  411. </p></dd>
  412. </dl>
  413. <hr>
  414. <div class="header">
  415. <p>
  416. Next: <a href="Symbol-Tables-In-Python.html#Symbol-Tables-In-Python" accesskey="n" rel="next">Symbol Tables In Python</a>, Previous: <a href="Blocks-In-Python.html#Blocks-In-Python" accesskey="p" rel="previous">Blocks In Python</a>, Up: <a href="Python-API.html#Python-API" accesskey="u" rel="up">Python API</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
  417. </div>
  418. </body>
  419. </html>