<html lang="en">
<head>
<title>Source Annotations - GDB's Obsolete Annotations</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GDB's Obsolete Annotations">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Annotations-for-Running.html#Annotations-for-Running" title="Annotations for Running">
<link rel="next" href="Multi_002dthreaded-Apps.html#Multi_002dthreaded-Apps" title="Multi-threaded Apps">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1994-2019 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 no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled ``GNU
Free Documentation License''.-->
<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>
</head>
<body>
<div class="node">
<a name="Source-Annotations"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Multi_002dthreaded-Apps.html#Multi_002dthreaded-Apps">Multi-threaded Apps</a>,
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="index.html#Top">Top</a>
<hr>
</div>

<h2 class="chapter">13 Displaying Source</h2>

<p><a name="index-annotations-for-source-display-85"></a>
<a name="index-source-86"></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>

