<html lang="en">
<head>
<title>Retrieving Descriptions - 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="Target-Descriptions.html#Target-Descriptions" title="Target Descriptions">
<link rel="next" href="Target-Description-Format.html#Target-Description-Format" title="Target Description Format">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-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 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>
</head>
<body>
<div class="node">
<a name="Retrieving-Descriptions"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Target-Description-Format.html#Target-Description-Format">Target Description Format</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Target-Descriptions.html#Target-Descriptions">Target Descriptions</a>
<hr>
</div>

<h3 class="section">G.1 Retrieving Descriptions</h3>

<p>Target descriptions can be read from the target automatically, or
specified by the user manually.  The default behavior is to read the
description from the target.  <span class="sc">gdb</span> retrieves it via the remote
protocol using &lsquo;<samp><span class="samp">qXfer</span></samp>&rsquo; requests (see <a href="General-Query-Packets.html#General-Query-Packets">qXfer</a>).  The <var>annex</var> in the &lsquo;<samp><span class="samp">qXfer</span></samp>&rsquo; packet will be
&lsquo;<samp><span class="samp">target.xml</span></samp>&rsquo;.  The contents of the &lsquo;<samp><span class="samp">target.xml</span></samp>&rsquo; annex are an
XML document, of the form described in <a href="Target-Description-Format.html#Target-Description-Format">Target Description Format</a>.

   <p>Alternatively, you can specify a file to read for the target description. 
If a file is set, the target will not be queried.  The commands to
specify a file are:

     
<a name="index-set-tdesc-filename-3639"></a>
<dl><dt><code>set tdesc filename </code><var>path</var><dd>Read the target description from <var>path</var>.

     <p><a name="index-unset-tdesc-filename-3640"></a><br><dt><code>unset tdesc filename</code><dd>Do not read the XML target description from a file.  <span class="sc">gdb</span>
will use the description supplied by the current target.

     <p><a name="index-show-tdesc-filename-3641"></a><br><dt><code>show tdesc filename</code><dd>Show the filename to read for a target description, if any. 
</dl>

   </body></html>

