Trace-State-Variables.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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: Trace State Variables</title>
  16. <meta name="description" content="Debugging with GDB: Trace State Variables">
  17. <meta name="keywords" content="Debugging with GDB: Trace State Variables">
  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="Set-Tracepoints.html#Set-Tracepoints" rel="up" title="Set Tracepoints">
  26. <link href="Tracepoint-Actions.html#Tracepoint-Actions" rel="next" title="Tracepoint Actions">
  27. <link href="Tracepoint-Conditions.html#Tracepoint-Conditions" rel="previous" title="Tracepoint Conditions">
  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="Trace-State-Variables"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="Tracepoint-Actions.html#Tracepoint-Actions" accesskey="n" rel="next">Tracepoint Actions</a>, Previous: <a href="Tracepoint-Conditions.html#Tracepoint-Conditions" accesskey="p" rel="previous">Tracepoint Conditions</a>, Up: <a href="Set-Tracepoints.html#Set-Tracepoints" accesskey="u" rel="up">Set Tracepoints</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="Trace-State-Variables-1"></a>
  65. <h4 class="subsection">13.1.5 Trace State Variables</h4>
  66. <a name="index-trace-state-variables"></a>
  67. <p>A <em>trace state variable</em> is a special type of variable that is
  68. created and managed by target-side code. The syntax is the same as
  69. that for GDB&rsquo;s convenience variables (a string prefixed with &ldquo;$&rdquo;),
  70. but they are stored on the target. They must be created explicitly,
  71. using a <code>tvariable</code> command. They are always 64-bit signed
  72. integers.
  73. </p>
  74. <p>Trace state variables are remembered by <small>GDB</small>, and downloaded
  75. to the target along with tracepoint information when the trace
  76. experiment starts. There are no intrinsic limits on the number of
  77. trace state variables, beyond memory limitations of the target.
  78. </p>
  79. <a name="index-convenience-variables_002c-and-trace-state-variables"></a>
  80. <p>Although trace state variables are managed by the target, you can use
  81. them in print commands and expressions as if they were convenience
  82. variables; <small>GDB</small> will get the current value from the target
  83. while the trace experiment is running. Trace state variables share
  84. the same namespace as other &ldquo;$&rdquo; variables, which means that you
  85. cannot have trace state variables with names like <code>$23</code> or
  86. <code>$pc</code>, nor can you have a trace state variable and a convenience
  87. variable with the same name.
  88. </p>
  89. <dl compact="compact">
  90. <dt><code>tvariable $<var>name</var> [ = <var>expression</var> ]</code></dt>
  91. <dd><a name="index-tvariable"></a>
  92. <p>The <code>tvariable</code> command creates a new trace state variable named
  93. <code>$<var>name</var></code>, and optionally gives it an initial value of
  94. <var>expression</var>. The <var>expression</var> is evaluated when this command is
  95. entered; the result will be converted to an integer if possible,
  96. otherwise <small>GDB</small> will report an error. A subsequent
  97. <code>tvariable</code> command specifying the same name does not create a
  98. variable, but instead assigns the supplied initial value to the
  99. existing variable of that name, overwriting any previous initial
  100. value. The default initial value is 0.
  101. </p>
  102. </dd>
  103. <dt><code>info tvariables</code></dt>
  104. <dd><a name="index-info-tvariables"></a>
  105. <p>List all the trace state variables along with their initial values.
  106. Their current values may also be displayed, if the trace experiment is
  107. currently running.
  108. </p>
  109. </dd>
  110. <dt><code>delete tvariable <span class="roman">[</span> $<var>name</var> &hellip; <span class="roman">]</span></code></dt>
  111. <dd><a name="index-delete-tvariable"></a>
  112. <p>Delete the given trace state variables, or all of them if no arguments
  113. are specified.
  114. </p>
  115. </dd>
  116. </dl>
  117. <hr>
  118. <div class="header">
  119. <p>
  120. Next: <a href="Tracepoint-Actions.html#Tracepoint-Actions" accesskey="n" rel="next">Tracepoint Actions</a>, Previous: <a href="Tracepoint-Conditions.html#Tracepoint-Conditions" accesskey="p" rel="previous">Tracepoint Conditions</a>, Up: <a href="Set-Tracepoints.html#Set-Tracepoints" accesskey="u" rel="up">Set Tracepoints</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>
  121. </div>
  122. </body>
  123. </html>