You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 line
6.5KB

  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 6.5, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  16. <title>Tracepoints (Debugging with GDB)</title>
  17. <meta name="description" content="Tracepoints (Debugging with GDB)">
  18. <meta name="keywords" content="Tracepoints (Debugging with GDB)">
  19. <meta name="resource-type" content="document">
  20. <meta name="distribution" content="global">
  21. <meta name="Generator" content="makeinfo">
  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="index.html#Top" rel="up" title="Top">
  26. <link href="Set-Tracepoints.html#Set-Tracepoints" rel="next" title="Set Tracepoints">
  27. <link href="Macros.html#Macros" rel="prev" title="Macros">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.indentedblock {margin-right: 0em}
  32. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  33. blockquote.smallquotation {font-size: smaller}
  34. div.display {margin-left: 3.2em}
  35. div.example {margin-left: 3.2em}
  36. div.lisp {margin-left: 3.2em}
  37. div.smalldisplay {margin-left: 3.2em}
  38. div.smallexample {margin-left: 3.2em}
  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.nolinebreak {white-space: nowrap}
  50. span.roman {font-family: initial; font-weight: normal}
  51. span.sansserif {font-family: sans-serif; font-weight: normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en">
  57. <a name="Tracepoints"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Overlays.html#Overlays" accesskey="n" rel="next">Overlays</a>, Previous: <a href="Macros.html#Macros" accesskey="p" rel="prev">Macros</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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>
  61. </div>
  62. <hr>
  63. <a name="Tracepoints-1"></a>
  64. <h2 class="chapter">13 Tracepoints</h2>
  65. <a name="index-tracepoints"></a>
  66. <p>In some applications, it is not feasible for the debugger to interrupt
  67. the program&rsquo;s execution long enough for the developer to learn
  68. anything helpful about its behavior. If the program&rsquo;s correctness
  69. depends on its real-time behavior, delays introduced by a debugger
  70. might cause the program to change its behavior drastically, or perhaps
  71. fail, even when the code itself is correct. It is useful to be able
  72. to observe the program&rsquo;s behavior without interrupting it.
  73. </p>
  74. <p>Using <small>GDB</small>&rsquo;s <code>trace</code> and <code>collect</code> commands, you can
  75. specify locations in the program, called <em>tracepoints</em>, and
  76. arbitrary expressions to evaluate when those tracepoints are reached.
  77. Later, using the <code>tfind</code> command, you can examine the values
  78. those expressions had when the program hit the tracepoints. The
  79. expressions may also denote objects in memory&mdash;structures or arrays,
  80. for example&mdash;whose values <small>GDB</small> should record; while visiting
  81. a particular tracepoint, you may inspect those objects as if they were
  82. in memory at that moment. However, because <small>GDB</small> records these
  83. values without interacting with you, it can do so quickly and
  84. unobtrusively, hopefully not disturbing the program&rsquo;s behavior.
  85. </p>
  86. <p>The tracepoint facility is currently available only for remote
  87. targets. See <a href="Targets.html#Targets">Targets</a>. In addition, your remote target must know
  88. how to collect trace data. This functionality is implemented in the
  89. remote stub; however, none of the stubs distributed with <small>GDB</small>
  90. support tracepoints as of this writing. The format of the remote
  91. packets used to implement tracepoints are described in <a href="Tracepoint-Packets.html#Tracepoint-Packets">Tracepoint Packets</a>.
  92. </p>
  93. <p>It is also possible to get trace data from a file, in a manner reminiscent
  94. of corefiles; you specify the filename, and use <code>tfind</code> to search
  95. through the file. See <a href="Trace-Files.html#Trace-Files">Trace Files</a>, for more details.
  96. </p>
  97. <p>This chapter describes the tracepoint commands and features.
  98. </p>
  99. <table class="menu" border="0" cellspacing="0">
  100. <tr><td align="left" valign="top">&bull; <a href="Set-Tracepoints.html#Set-Tracepoints" accesskey="1">Set Tracepoints</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  101. </td></tr>
  102. <tr><td align="left" valign="top">&bull; <a href="Analyze-Collected-Data.html#Analyze-Collected-Data" accesskey="2">Analyze Collected Data</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  103. </td></tr>
  104. <tr><td align="left" valign="top">&bull; <a href="Tracepoint-Variables.html#Tracepoint-Variables" accesskey="3">Tracepoint Variables</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  105. </td></tr>
  106. <tr><td align="left" valign="top">&bull; <a href="Trace-Files.html#Trace-Files" accesskey="4">Trace Files</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  107. </td></tr>
  108. </table>
  109. <hr>
  110. <div class="header">
  111. <p>
  112. Next: <a href="Overlays.html#Overlays" accesskey="n" rel="next">Overlays</a>, Previous: <a href="Macros.html#Macros" accesskey="p" rel="prev">Macros</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</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>
  113. </div>
  114. </body>
  115. </html>