<html lang="en">
<head>
<title>Source Annotations - 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="Annotations.html#Annotations" title="Annotations">
<link rel="prev" href="Annotations-for-Running.html#Annotations-for-Running" title="Annotations for Running">
<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="Source-Annotations"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Annotations-for-Running.html#Annotations-for-Running">Annotations for Running</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Annotations.html#Annotations">Annotations</a>
<hr>
</div>

<h3 class="section">28.7 Displaying Source</h3>

<p><a name="index-annotations-for-source-display-2170"></a>
<a name="index-source-annotation-2171"></a>The following annotation is used instead of displaying source code:

<pre class="smallexample">     ^Z^Zsource <var>filename</var>:<var>line</var>:<var>character</var>:<var>middle</var>:<var>addr</var>
</pre>
   <p>where <var>filename</var> is an absolute file name indicating which source
file, <var>line</var> is the line number within that file (where 1 is the
first line in the file), <var>character</var> is the character position
within the file (where 0 is the first character in the file) (for most
debug formats this will necessarily point to the beginning of a line),
<var>middle</var> is &lsquo;<samp><span class="samp">middle</span></samp>&rsquo; if <var>addr</var> is in the middle of the
line, or &lsquo;<samp><span class="samp">beg</span></samp>&rsquo; if <var>addr</var> is at the beginning of the line, and
<var>addr</var> is the address in the target program associated with the
source which is being displayed.  <var>addr</var> is in the form &lsquo;<samp><span class="samp">0x</span></samp>&rsquo;
followed by one or more lowercase hex digits (note that this does not
depend on the language).

   </body></html>

