You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
5.5 KiB
HTML
138 lines
5.5 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
|
|
<html>
|
|
<!-- Created on November, 7 2008 by texi2html 1.78 -->
|
|
<!--
|
|
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
|
Karl Berry <karl@freefriends.org>
|
|
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
|
and many others.
|
|
Maintained by: Many creative people.
|
|
Send bugs and suggestions to <texi2html-bug@nongnu.org>
|
|
|
|
-->
|
|
<head>
|
|
<title>Simulavr: 3.1 GDB Hints</title>
|
|
|
|
<meta name="description" content="Simulavr: 3.1 GDB Hints">
|
|
<meta name="keywords" content="Simulavr: 3.1 GDB Hints">
|
|
<meta name="resource-type" content="document">
|
|
<meta name="distribution" content="global">
|
|
<meta name="Generator" content="texi2html 1.78">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<style type="text/css">
|
|
<!--
|
|
a.summary-letter {text-decoration: none}
|
|
pre.display {font-family: serif}
|
|
pre.format {font-family: serif}
|
|
pre.menu-comment {font-family: serif}
|
|
pre.menu-preformatted {font-family: serif}
|
|
pre.smalldisplay {font-family: serif; font-size: smaller}
|
|
pre.smallexample {font-size: smaller}
|
|
pre.smallformat {font-family: serif; font-size: smaller}
|
|
pre.smalllisp {font-size: smaller}
|
|
span.roman {font-family:serif; font-weight:normal;}
|
|
span.sansserif {font-family:sans-serif; font-weight:normal;}
|
|
ul.toc {list-style: none}
|
|
-->
|
|
</style>
|
|
|
|
|
|
</head>
|
|
|
|
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
|
|
|
|
<a name="GDB-Hints"></a>
|
|
<a name="SEC6"></a>
|
|
<table cellpadding="1" cellspacing="1" border="0">
|
|
<tr><td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Previous section in reading order"> < </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_7.html#SEC7" title="Next section in reading order"> > </a>]</td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Beginning of this chapter or previous chapter"> << </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Up section"> Up </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_8.html#SEC8" title="Next chapter"> >> </a>]</td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left">[<a href="simulavr.html#Top" title="Cover (top) of document">Top</a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_11.html#SEC11" title="Index">Index</a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
|
|
</tr></table>
|
|
<h2 class="section"> 3.1 GDB Hints </h2>
|
|
|
|
<p>Since debugging an AVR program with gdb requires gdb to connect to a
|
|
remote target (either simulavr or some other debugging tool, such as
|
|
avarice), a series of commands must be issued every time gdb is started.
|
|
The easiest way around this is to put the commands into a
|
|
‘<tt>.gdbinit</tt>’ file in the project directory. The following example is
|
|
from a ‘<tt>.gdbinit</tt>’ which I use for many projects.
|
|
</p>
|
|
<table><tr><td> </td><td><table class="cartouche" border="1"><tr><td>
|
|
<pre class="example">
|
|
## Print out structures in a sane way
|
|
|
|
echo (gdb) set print pretty
|
|
set print pretty
|
|
|
|
## Use this for debugging the remote protocol. (Don't use unless
|
|
## debugging simulavr or avr-gdb)
|
|
|
|
#echo (gdb) set debug remote 1\n
|
|
#set debug remote 1
|
|
|
|
## If you don't want specify the program to debug when invoking gdb,
|
|
## you can tell gdb to read it in here. The file should be an elf file
|
|
## compiled with debugging information (-g for C files and -gstabs for
|
|
## asm files).
|
|
|
|
#echo (gdb) file myprog.elf\n
|
|
#file myprog.elf
|
|
|
|
## Connect to the remote target via a TCP socket on host:port.
|
|
|
|
echo (gdb) target remote localhost:1212\n
|
|
target remote localhost:1212
|
|
|
|
## If you are using simulavr as the remote target, this will upload
|
|
## the program into flash memory for you.
|
|
|
|
echo (gdb) load\n
|
|
load
|
|
|
|
## Set a break point at the beginning of main().
|
|
|
|
echo (gdb) break main\n
|
|
break main
|
|
|
|
## Run the program up to the first break point. Gdb's `run` command
|
|
## does not work when using a remote target, must use continue.
|
|
|
|
echo (gdb) continue\n
|
|
continue
|
|
|
|
</pre></td></tr></table>
|
|
</td></tr></table>
|
|
|
|
<p>As you can see, I <code>echo</code> every command so I can see what gdb has
|
|
done when it runs the commands in the ‘<tt>.gdbinit</tt>’ file.
|
|
</p>
|
|
<hr size="6">
|
|
<table cellpadding="1" cellspacing="1" border="0">
|
|
<tr><td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Previous section in reading order"> < </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_7.html#SEC7" title="Next section in reading order"> > </a>]</td>
|
|
<td valign="middle" align="left"> </td>
|
|
<td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Beginning of this chapter or previous chapter"> << </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_5.html#SEC5" title="Up section"> Up </a>]</td>
|
|
<td valign="middle" align="left">[<a href="simulavr_8.html#SEC8" title="Next chapter"> >> </a>]</td>
|
|
</tr></table>
|
|
<p>
|
|
<font size="-1">
|
|
This document was generated by <em>eweddington</em> on <em>November, 7 2008</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78</em></a>.
|
|
</font>
|
|
<br>
|
|
|
|
</p>
|
|
</body>
|
|
</html>
|