blob: 06e8fdafde3e45cb3f07cbf5c13fa96c1c8608cb [file] [log] [blame]
<html lang="en">
<head>
<title>Tracepoint Variables - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Tracepoints.html#Tracepoints" title="Tracepoints">
<link rel="prev" href="Analyze-Collected-Data.html#Analyze-Collected-Data" title="Analyze Collected Data">
<link rel="next" href="Trace-Files.html#Trace-Files" title="Trace Files">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Tracepoint-Variables"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Trace-Files.html#Trace-Files">Trace Files</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Analyze-Collected-Data.html#Analyze-Collected-Data">Analyze Collected Data</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Tracepoints.html#Tracepoints">Tracepoints</a>
<hr>
</div>
<h3 class="section">13.3 Convenience Variables for Tracepoints</h3>
<p><a name="index-tracepoint-variables-750"></a><a name="index-convenience-variables-for-tracepoints-751"></a>
<a name="index-g_t_0024trace_005fframe-752"></a>
<dl><dt><code>(int) $trace_frame</code><dd>The current trace snapshot (a.k.a. <dfn>frame</dfn>) number, or -1 if no
snapshot is selected.
<p><a name="index-g_t_0024tracepoint-753"></a><br><dt><code>(int) $tracepoint</code><dd>The tracepoint for the current trace snapshot.
<p><a name="index-g_t_0024trace_005fline-754"></a><br><dt><code>(int) $trace_line</code><dd>The line number for the current trace snapshot.
<p><a name="index-g_t_0024trace_005ffile-755"></a><br><dt><code>(char []) $trace_file</code><dd>The source file for the current trace snapshot.
<p><a name="index-g_t_0024trace_005ffunc-756"></a><br><dt><code>(char []) $trace_func</code><dd>The name of the function containing <code>$tracepoint</code>.
</dl>
<p>Note: <code>$trace_file</code> is not suitable for use in <code>printf</code>,
use <code>output</code> instead.
<p>Here's a simple example of using these convenience variables for
stepping through all the trace snapshots and printing some of their
data. Note that these are not the same as trace state variables,
which are managed by the target.
<pre class="smallexample"> (gdb) <b>tfind start</b>
(gdb) <b>while $trace_frame != -1</b>
&gt; output $trace_file
&gt; printf ", line %d (tracepoint #%d)\n", $trace_line, $tracepoint
&gt; tfind
&gt; end
</pre>
</body></html>