blob: e5539e4c255cb1f5e630bd7995dacbb6e561fe28 [file] [log] [blame]
<html lang="en">
<head>
<title>VxWorks Download - 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="VxWorks.html#VxWorks" title="VxWorks">
<link rel="prev" href="VxWorks-Connection.html#VxWorks-Connection" title="VxWorks Connection">
<link rel="next" href="VxWorks-Attach.html#VxWorks-Attach" title="VxWorks Attach">
<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="VxWorks-Download"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="VxWorks-Attach.html#VxWorks-Attach">VxWorks Attach</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="VxWorks-Connection.html#VxWorks-Connection">VxWorks Connection</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="VxWorks.html#VxWorks">VxWorks</a>
<hr>
</div>
<h5 class="subsubsection">21.2.1.2 VxWorks Download</h5>
<p><a name="index-download-to-VxWorks-1278"></a>If you have connected to the VxWorks target and you want to debug an
object that has not yet been loaded, you can use the <span class="sc">gdb</span>
<code>load</code> command to download a file from Unix to VxWorks
incrementally. The object file given as an argument to the <code>load</code>
command is actually opened twice: first by the VxWorks target in order
to download the code, then by <span class="sc">gdb</span> in order to read the symbol
table. This can lead to problems if the current working directories on
the two systems differ. If both systems have NFS mounted the same
filesystems, you can avoid these problems by using absolute paths.
Otherwise, it is simplest to set the working directory on both systems
to the directory in which the object file resides, and then to reference
the file by its name, without any path. For instance, a program
<samp><span class="file">prog.o</span></samp> may reside in <samp><var>vxpath</var><span class="file">/vw/demo/rdb</span></samp> in VxWorks
and in <samp><var>hostpath</var><span class="file">/vw/demo/rdb</span></samp> on the host. To load this
program, type this on VxWorks:
<pre class="smallexample"> -&gt; cd "<var>vxpath</var>/vw/demo/rdb"
</pre>
<p class="noindent">Then, in <span class="sc">gdb</span>, type:
<pre class="smallexample"> (vxgdb) cd <var>hostpath</var>/vw/demo/rdb
(vxgdb) load prog.o
</pre>
<p><span class="sc">gdb</span> displays a response similar to this:
<pre class="smallexample"> Reading symbol data from wherever/vw/demo/rdb/prog.o... done.
</pre>
<p>You can also use the <code>load</code> command to reload an object module
after editing and recompiling the corresponding source file. Note that
this makes <span class="sc">gdb</span> delete all currently-defined breakpoints,
auto-displays, and convenience variables, and to clear the value
history. (This is necessary in order to preserve the integrity of
debugger's data structures that reference the target system's symbol
table.)
</body></html>