diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 51d65016fc..8684851dcc 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -3868,25 +3868,51 @@
GDB site.
+
+ The remainder of this section describes the steps you need to take
+ to debug using the GNU project debugger.
+
+
+
+ Set Up the Cross-Development Debugging Environment
+
+
+ Before you can initiate a remote debugging session, you need
+ to be sure you have set up the cross-development environment,
+ toolchain, and sysroot.
+ The "Preparing for Application Development"
+ chapter of the Yocto Project Application Developer's Guide
+ describes this process.
+ Be sure you have read that chapter and have your environment
+ set up.
+
+
+
Launching Gdbserver on the Target
- First, make sure Gdbserver is installed on the target.
- If it is not, install the package gdbserver, which needs the
+ Make sure Gdbserver is installed on the target.
+ If it is not, install the package
+ gdbserver, which needs the
libthread-db1 package.
- As an example, to launch Gdbserver on the target and make it ready to "debug" a
- program located at /path/to/inferior, connect
- to the target and launch:
+ As an example, to launch Gdbserver on the target and make it
+ ready to "debug" a program located in the
+ /usr/bin/hello directory, from the host
+ you need to enter a command like the following.
+ This command connects to the target and launches Gdbserver
+ on the target:
- $ gdbserver localhost:2345 /path/to/inferior
+ $ gdbserver localhost:2345 /usr/bin/hello
Gdbserver should now be listening on port 2345 for debugging
- commands coming from a remote GDB process that is running on the host computer.
- Communication between Gdbserver and the host GDB are done using TCP.
+ commands coming from a remote GDB process that is running on
+ the host computer.
+ Communication between Gdbserver and the host GDB are done
+ using TCP.
To use other communication protocols, please refer to the
Gdbserver documentation.
@@ -3903,20 +3929,24 @@
Build the Cross-GDB Package
- A suitable GDB cross-binary is required that runs on your host computer but
- also knows about the the ABI of the remote target.
- You can get this binary from the meta-toolchain.
+ A suitable GDB cross-binary is required that runs on your
+ host computer but also knows about the the ABI of the
+ remote target.
+ You can get this binary from the
+ Cross-Development Toolchain.
Here is an example where the toolchain has been installed
- in the default directory /opt/poky/&DISTRO;:
+ in the default directory
+ /opt/poky/&DISTRO;:
/opt/poky/1.4/sysroots/i686-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
- where arm is the target architecture and
- linux-gnueabi the target ABI.
+ where arm is the target architecture
+ and linux-gnueabi the target ABI.
- Alternatively, you can use BitBake to build the gdb-cross binary.
+ Alternatively, you can use BitBake to build the
+ gdb-cross binary.
Here is an example:
$ bitbake gdb-cross
@@ -3929,7 +3959,7 @@
- Create the GDB Initialization File
+ Create the GDB Initialization File and Point to Your Root Filesystem
Aside from the GDB cross-binary, you also need a GDB
@@ -3943,17 +3973,15 @@
by maintained by
sourceware.org.
-
-
-
- Point to Your Root Filesystem
- Before starting your debugging session, you need to enter
- the following to set your root filesystem location
- by using a command with this form:
+ You need to add a statement in the
+ .gdbinit file that points to your
+ root filesystem.
+ Here is an example that points to the root filesystem for
+ an ARM-based target device:
- set sysroot <your-sysroot-path>
+ set sysroot /home/jzhang/sysroot_arm
@@ -3962,123 +3990,47 @@
Launch the Host GDB
- To launch the host GDB, you need to source the
- cross-debugging environment script, which if you installed
- the root filesystem in the default location is at
- /opt/poky/&DISTRO; and begins with the
- string "environment-setup".
+ Before launching the host GDB, you need to be sure
+ you have sourced the cross-debugging environment script,
+ which if you installed the root filesystem in the default
+ location is at /opt/poky/&DISTRO;
+ and begins with the string "environment-setup".
+ For more information, see the
+ "Setting Up the Cross-Development Environment"
+ section in the Yocto Project Application Developer's
+ Guide.
- Finally, run the cross-gdb binary
- and provide the inferior binary as part of the command line.
+ Finally, switch to the directory where the binary resides
+ and run the cross-gdb binary.
+ Provide the binary file you are going to debug.
For example, the following command form continues with the
example used in the previous section.
- This command form loads the foo binary
- as well as the debugging information:
+ This command form loads the helloworld
+ binary as well as the debugging information:
- $ <target-abi>-gdb rootfs/usr/bin/foo
+ $ i586-poky-linux-gdb helloworld
The commands in your .gdbinit execute
and the GDB prompt appears.
-
-
Use the Debugger