blob: 2a1a5cb9d7b4ee79ad4fdb49d1532054357d1db8 [file] [log] [blame]
<html lang="en">
<head>
<title>Analyze Collected Data - 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="Set-Tracepoints.html#Set-Tracepoints" title="Set Tracepoints">
<link rel="next" href="Tracepoint-Variables.html#Tracepoint-Variables" title="Tracepoint Variables">
<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="Analyze-Collected-Data"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Tracepoint-Variables.html#Tracepoint-Variables">Tracepoint Variables</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Set-Tracepoints.html#Set-Tracepoints">Set Tracepoints</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Tracepoints.html#Tracepoints">Tracepoints</a>
<hr>
</div>
<h3 class="section">13.2 Using the Collected Data</h3>
<p>After the tracepoint experiment ends, you use <span class="sc">gdb</span> commands
for examining the trace data. The basic idea is that each tracepoint
collects a trace <dfn>snapshot</dfn> every time it is hit and another
snapshot every time it single-steps. All these snapshots are
consecutively numbered from zero and go into a buffer, and you can
examine them later. The way you examine them is to <dfn>focus</dfn> on a
specific trace snapshot. When the remote stub is focused on a trace
snapshot, it will respond to all <span class="sc">gdb</span> requests for memory and
registers by reading from the buffer which belongs to that snapshot,
rather than from <em>real</em> memory or registers of the program being
debugged. This means that <strong>all</strong> <span class="sc">gdb</span> commands
(<code>print</code>, <code>info registers</code>, <code>backtrace</code>, etc.) will
behave as if we were currently debugging the program state as it was
when the tracepoint occurred. Any requests for data that are not in
the buffer will fail.
<ul class="menu">
<li><a accesskey="1" href="tfind.html#tfind">tfind</a>: How to select a trace snapshot
<li><a accesskey="2" href="tdump.html#tdump">tdump</a>: How to display all data for a snapshot
<li><a accesskey="3" href="save-tracepoints.html#save-tracepoints">save tracepoints</a>: How to save tracepoints for a future run
</ul>
</body></html>