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-2021 Free Software Foundation, Inc.
4
5Permission is granted to copy, distribute and/or modify this document
6under the terms of the GNU Free Documentation License, Version 1.3 or
7any later version published by the Free Software Foundation; with the
8Invariant Sections being "Free Software" and "Free Software Needs
9Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
10and with the Back-Cover Texts as in (a) below.
11
12(a) The FSF's Back-Cover Text is: "You are free to copy and modify
13this GNU Manual.  Buying copies from GNU Press supports the FSF in
14developing GNU and promoting software freedom." -->
15<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
16<head>
17<title>Debugging with GDB: tdump</title>
18
19<meta name="description" content="Debugging with GDB: tdump">
20<meta name="keywords" content="Debugging with GDB: tdump">
21<meta name="resource-type" content="document">
22<meta name="distribution" content="global">
23<meta name="Generator" content="makeinfo">
24<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
25<link href="index.html#Top" rel="start" title="Top">
26<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
27<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
28<link href="Analyze-Collected-Data.html#Analyze-Collected-Data" rel="up" title="Analyze Collected Data">
29<link href="save-tracepoints.html#save-tracepoints" rel="next" title="save tracepoints">
30<link href="tfind.html#tfind" rel="previous" title="tfind">
31<style type="text/css">
32<!--
33a.summary-letter {text-decoration: none}
34blockquote.smallquotation {font-size: smaller}
35div.display {margin-left: 3.2em}
36div.example {margin-left: 3.2em}
37div.indentedblock {margin-left: 3.2em}
38div.lisp {margin-left: 3.2em}
39div.smalldisplay {margin-left: 3.2em}
40div.smallexample {margin-left: 3.2em}
41div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
42div.smalllisp {margin-left: 3.2em}
43kbd {font-style:oblique}
44pre.display {font-family: inherit}
45pre.format {font-family: inherit}
46pre.menu-comment {font-family: serif}
47pre.menu-preformatted {font-family: serif}
48pre.smalldisplay {font-family: inherit; font-size: smaller}
49pre.smallexample {font-size: smaller}
50pre.smallformat {font-family: inherit; font-size: smaller}
51pre.smalllisp {font-size: smaller}
52span.nocodebreak {white-space:nowrap}
53span.nolinebreak {white-space:nowrap}
54span.roman {font-family:serif; font-weight:normal}
55span.sansserif {font-family:sans-serif; font-weight:normal}
56ul.no-bullet {list-style: none}
57-->
58</style>
59
60
61</head>
62
63<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
64<a name="tdump"></a>
65<div class="header">
66<p>
67Next: <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>
68</div>
69<hr>
70<a name="tdump-1"></a>
71<h4 class="subsection">13.2.2 <code>tdump</code></h4>
72<a name="index-tdump"></a>
73<a name="index-dump-all-data-collected-at-tracepoint"></a>
74<a name="index-tracepoint-data_002c-display"></a>
75
76<p>This command takes no arguments.  It prints all the data collected at
77the current trace snapshot.
78</p>
79<div class="smallexample">
80<pre class="smallexample">(gdb) <b>trace 444</b>
81(gdb) <b>actions</b>
82Enter actions for tracepoint #2, one per line:
83&gt; collect $regs, $locals, $args, gdb_long_test
84&gt; end
85
86(gdb) <b>tstart</b>
87
88(gdb) <b>tfind line 444</b>
89#0  gdb_test (p1=0x11, p2=0x22, p3=0x33, p4=0x44, p5=0x55, p6=0x66)
90at gdb_test.c:444
91444        printp( &quot;%s: arguments = 0x%X 0x%X 0x%X 0x%X 0x%X 0x%X\n&quot;, )
92
93(gdb) <b>tdump</b>
94Data collected at tracepoint 2, trace frame 1:
95d0             0xc4aa0085       -995491707
96d1             0x18     24
97d2             0x80     128
98d3             0x33     51
99d4             0x71aea3d        119204413
100d5             0x22     34
101d6             0xe0     224
102d7             0x380035 3670069
103a0             0x19e24a 1696330
104a1             0x3000668        50333288
105a2             0x100    256
106a3             0x322000 3284992
107a4             0x3000698        50333336
108a5             0x1ad3cc 1758156
109fp             0x30bf3c 0x30bf3c
110sp             0x30bf34 0x30bf34
111ps             0x0      0
112pc             0x20b2c8 0x20b2c8
113fpcontrol      0x0      0
114fpstatus       0x0      0
115fpiaddr        0x0      0
116p = 0x20e5b4 &quot;gdb-test&quot;
117p1 = (void *) 0x11
118p2 = (void *) 0x22
119p3 = (void *) 0x33
120p4 = (void *) 0x44
121p5 = (void *) 0x55
122p6 = (void *) 0x66
123gdb_long_test = 17 '\021'
124
125(gdb)
126</pre></div>
127
128<p><code>tdump</code> works by scanning the tracepoint&rsquo;s current collection
129actions and printing the value of each expression listed.  So
130<code>tdump</code> can fail, if after a run, you change the tracepoint&rsquo;s
131actions to mention variables that were not collected during the run.
132</p>
133<p>Also, for tracepoints with <code>while-stepping</code> loops, <code>tdump</code>
134uses the collected value of <code>$pc</code> to distinguish between trace
135frames that were collected at the tracepoint hit, and frames that were
136collected while stepping.  This allows it to correctly choose whether
137to display the basic list of collections, or the collections from the
138body of the while-stepping loop.  However, if <code>$pc</code> was not collected,
139then <code>tdump</code> will always attempt to dump using the basic collection
140list, and may fail if a while-stepping frame does not include all the
141same data that is collected at the tracepoint hit.
142</p>
143<hr>
144<div class="header">
145<p>
146Next: <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>
147</div>
148
149
150
151</body>
152</html>
153