| <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.3. Running Applications from GDB</title><link rel="stylesheet" href="cs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="Sourcery G++ Lite"><link rel="up" href="chap-building.html" title="Chapter 4. Using Sourcery G++ from the Command Line"><link rel="prev" href="ch04s02.html" title="4.2. Running Applications on the Target System"><link rel="next" href="sprite.html" title="Chapter 5. Sourcery G++ Debug Sprite"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.3. Running Applications from GDB</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Using Sourcery G++ from the Command Line</th><td width="20%" align="right"> <a accesskey="n" href="sprite.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sec-remote-debugging"></a>4.3. Running Applications from GDB</h2></div></div></div><p> | |
| You can run GDB, the GNU Debugger, on your host system | |
| to debug programs running remotely on a target board or system. | |
| </p><p> | |
| When starting GDB, give it the pathname to the program you want to | |
| debug as a command-line argument. | |
| For example, if you have built the factorial program as described in | |
| <a class="xref" href="chap-building.html#sec-factorial-build" title="4.1. Building an Application">Section 4.1, “Building an Application”</a>, enter: | |
| </p><pre class="screen">> arm-none-linux-gnueabi-gdb factorial</pre><p> | |
| </p><p> | |
| While this section explains the alternatives for using GDB to run | |
| and debug application programs, explaining the use of the GDB | |
| command-line interface is beyond the scope of this document. Please | |
| refer to the GDB manual for further instructions. | |
| </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id279287"></a>4.3.1. Connecting to the Sourcery G++ Debug Sprite</h3></div></div></div><p> | |
| The Sourcery G++ Debug Sprite is a program that runs on the host system to | |
| support hardware debugging devices. You can use the Debug Sprite to | |
| run and debug programs on a target board without an operating system, | |
| or to debug an operating system kernel. See <a class="xref" href="sprite.html" title="Chapter 5. Sourcery G++ Debug Sprite">Chapter 5, “Sourcery G++ Debug Sprite”</a> for | |
| detailed information about the supported devices. | |
| </p><p> | |
| You can start the Sprite directly from within GDB: | |
| </p><pre class="screen">(gdb) target remote | arm-none-linux-gnueabi-sprite <em class="replaceable"><code>arguments</code></em></pre><p> | |
| Refer to <a class="xref" href="sec-sprite-invocation.html" title="5.2. Invoking Sourcery G++ Debug Sprite">Section 5.2, “Invoking Sourcery G++ Debug Sprite”</a> for a full | |
| description of the Sprite arguments. | |
| </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="connecting-to-gdbserver"></a>4.3.2. Connecting to an External GDB Server</h3></div></div></div><p> | |
| Sourcery G++ Lite includes a program called <code class="command">gdbserver</code> | |
| that can be used to debug a program running on a remote | |
| ARM GNU/Linux target. | |
| Follow the instructions in | |
| <a class="xref" href="chap-target.html" title="Chapter 3. Sourcery G++ Lite for ARM GNU/Linux">Chapter 3, “Sourcery G++ Lite for ARM GNU/Linux”</a> to install and run | |
| <code class="command">gdbserver</code> on your target system. | |
| </p><p> | |
| From within GDB, you can connect to a running <code class="command">gdbserver</code> | |
| or other debugging stub that uses the GDB remote protocol using: | |
| </p><pre class="screen">(gdb) target remote <em class="replaceable"><code>host</code></em>:<em class="replaceable"><code>port</code></em></pre><p> | |
| where <em class="replaceable"><code>host</code></em> is the host name or IP address of the | |
| machine the stub is running on, and <em class="replaceable"><code>port</code></em> is the | |
| port number it is listening on for TCP connections. | |
| </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="chap-building.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="sprite.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.2. Running Applications on the Target System </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 5. Sourcery G++ Debug Sprite</td></tr></table></div></body></html> |