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: Tracepoint Variables</title>
18
19<meta name="description" content="Debugging with GDB: Tracepoint Variables">
20<meta name="keywords" content="Debugging with GDB: Tracepoint Variables">
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="Tracepoints.html#Tracepoints" rel="up" title="Tracepoints">
29<link href="Trace-Files.html#Trace-Files" rel="next" title="Trace Files">
30<link href="save-tracepoints.html#save-tracepoints" rel="previous" title="save tracepoints">
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="Tracepoint-Variables"></a>
65<div class="header">
66<p>
67Next: <a href="Trace-Files.html#Trace-Files" accesskey="n" rel="next">Trace Files</a>, Previous: <a href="Analyze-Collected-Data.html#Analyze-Collected-Data" accesskey="p" rel="previous">Analyze Collected Data</a>, Up: <a href="Tracepoints.html#Tracepoints" accesskey="u" rel="up">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>
68</div>
69<hr>
70<a name="Convenience-Variables-for-Tracepoints"></a>
71<h3 class="section">13.3 Convenience Variables for Tracepoints</h3>
72<a name="index-tracepoint-variables"></a>
73<a name="index-convenience-variables-for-tracepoints"></a>
74
75<dl compact="compact">
76<dd><a name="index-_0024trace_005fframe"></a>
77</dd>
78<dt><code>(int) $trace_frame</code></dt>
79<dd><p>The current trace snapshot (a.k.a. <em>frame</em>) number, or -1 if no
80snapshot is selected.
81</p>
82<a name="index-_0024tracepoint"></a>
83</dd>
84<dt><code>(int) $tracepoint</code></dt>
85<dd><p>The tracepoint for the current trace snapshot.
86</p>
87<a name="index-_0024trace_005fline"></a>
88</dd>
89<dt><code>(int) $trace_line</code></dt>
90<dd><p>The line number for the current trace snapshot.
91</p>
92<a name="index-_0024trace_005ffile"></a>
93</dd>
94<dt><code>(char []) $trace_file</code></dt>
95<dd><p>The source file for the current trace snapshot.
96</p>
97<a name="index-_0024trace_005ffunc"></a>
98</dd>
99<dt><code>(char []) $trace_func</code></dt>
100<dd><p>The name of the function containing <code>$tracepoint</code>.
101</p></dd>
102</dl>
103
104<p>Note: <code>$trace_file</code> is not suitable for use in <code>printf</code>,
105use <code>output</code> instead.
106</p>
107<p>Here&rsquo;s a simple example of using these convenience variables for
108stepping through all the trace snapshots and printing some of their
109data.  Note that these are not the same as trace state variables,
110which are managed by the target.
111</p>
112<div class="smallexample">
113<pre class="smallexample">(gdb) <b>tfind start</b>
114
115(gdb) <b>while $trace_frame != -1</b>
116&gt; output $trace_file
117&gt; printf &quot;, line %d (tracepoint #%d)\n&quot;, $trace_line, $tracepoint
118&gt; tfind
119&gt; end
120</pre></div>
121
122
123
124
125</body>
126</html>
127