tdump.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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: tdump</title>
  16. <meta name="description" content="Debugging with GDB: tdump">
  17. <meta name="keywords" content="Debugging with GDB: tdump">
  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="Analyze-Collected-Data.html#Analyze-Collected-Data" rel="up" title="Analyze Collected Data">
  26. <link href="save-tracepoints.html#save-tracepoints" rel="next" title="save tracepoints">
  27. <link href="tfind.html#tfind" rel="previous" title="tfind">
  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="tdump"></a>
  59. <div class="header">
  60. <p>
  61. Next: <a href="save-tracepoints.html#save-tracepoints" accesskey="n" rel="next">save tracepoints</a>, Previous: <a href="tfind.html#tfind" accesskey="p" rel="previous">tfind</a>, Up: <a href="Analyze-Collected-Data.html#Analyze-Collected-Data" accesskey="u" rel="up">Analyze Collected Data</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="tdump-1"></a>
  65. <h4 class="subsection">13.2.2 <code>tdump</code></h4>
  66. <a name="index-tdump"></a>
  67. <a name="index-dump-all-data-collected-at-tracepoint"></a>
  68. <a name="index-tracepoint-data_002c-display"></a>
  69. <p>This command takes no arguments. It prints all the data collected at
  70. the current trace snapshot.
  71. </p>
  72. <div class="smallexample">
  73. <pre class="smallexample">(gdb) <b>trace 444</b>
  74. (gdb) <b>actions</b>
  75. Enter actions for tracepoint #2, one per line:
  76. &gt; collect $regs, $locals, $args, gdb_long_test
  77. &gt; end
  78. (gdb) <b>tstart</b>
  79. (gdb) <b>tfind line 444</b>
  80. #0 gdb_test (p1=0x11, p2=0x22, p3=0x33, p4=0x44, p5=0x55, p6=0x66)
  81. at gdb_test.c:444
  82. 444 printp( &quot;%s: arguments = 0x%X 0x%X 0x%X 0x%X 0x%X 0x%X\n&quot;, )
  83. (gdb) <b>tdump</b>
  84. Data collected at tracepoint 2, trace frame 1:
  85. d0 0xc4aa0085 -995491707
  86. d1 0x18 24
  87. d2 0x80 128
  88. d3 0x33 51
  89. d4 0x71aea3d 119204413
  90. d5 0x22 34
  91. d6 0xe0 224
  92. d7 0x380035 3670069
  93. a0 0x19e24a 1696330
  94. a1 0x3000668 50333288
  95. a2 0x100 256
  96. a3 0x322000 3284992
  97. a4 0x3000698 50333336
  98. a5 0x1ad3cc 1758156
  99. fp 0x30bf3c 0x30bf3c
  100. sp 0x30bf34 0x30bf34
  101. ps 0x0 0
  102. pc 0x20b2c8 0x20b2c8
  103. fpcontrol 0x0 0
  104. fpstatus 0x0 0
  105. fpiaddr 0x0 0
  106. p = 0x20e5b4 &quot;gdb-test&quot;
  107. p1 = (void *) 0x11
  108. p2 = (void *) 0x22
  109. p3 = (void *) 0x33
  110. p4 = (void *) 0x44
  111. p5 = (void *) 0x55
  112. p6 = (void *) 0x66
  113. gdb_long_test = 17 '\021'
  114. (gdb)
  115. </pre></div>
  116. <p><code>tdump</code> works by scanning the tracepoint&rsquo;s current collection
  117. actions and printing the value of each expression listed. So
  118. <code>tdump</code> can fail, if after a run, you change the tracepoint&rsquo;s
  119. actions to mention variables that were not collected during the run.
  120. </p>
  121. <p>Also, for tracepoints with <code>while-stepping</code> loops, <code>tdump</code>
  122. uses the collected value of <code>$pc</code> to distinguish between trace
  123. frames that were collected at the tracepoint hit, and frames that were
  124. collected while stepping. This allows it to correctly choose whether
  125. to display the basic list of collections, or the collections from the
  126. body of the while-stepping loop. However, if <code>$pc</code> was not collected,
  127. then <code>tdump</code> will always attempt to dump using the basic collection
  128. list, and may fail if a while-stepping frame does not include all the
  129. same data that is collected at the tracepoint hit.
  130. </p>
  131. <hr>
  132. <div class="header">
  133. <p>
  134. Next: <a href="save-tracepoints.html#save-tracepoints" accesskey="n" rel="next">save tracepoints</a>, Previous: <a href="tfind.html#tfind" accesskey="p" rel="previous">tfind</a>, Up: <a href="Analyze-Collected-Data.html#Analyze-Collected-Data" accesskey="u" rel="up">Analyze Collected Data</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>
  135. </div>
  136. </body>
  137. </html>