IN THIS CHAPTER
Regardless of their talent or expertise, all programmers need to debug code. The Project Trailblazer engineers know that they'll need to do some debugging and that the time they spend on debugging will affect their schedule.
The Project Trailblazer engineers want a reliable and robust solution for their remote debugging needs. They want this solution to span the project's target processors (x86, ARM and PowerPC), communicate over the Transmission Control Protocol/Internet Protocol (TCP/IP) network, and be non-proprietary. The GNU debugging tools gdb and gdbserver provide this solution.
In this chapter, you'll debug the helloworld program both locally and remotely, using gdb and gdbserver. Then you'll reduce the compile/run/debug iteration cycle time by configuring the project target boards to mount their root filesystems via Network File System (NFS). This chapter is by no means a comprehensive explanation of debugging; other sources of information already exist.1,2 Nor does it use graphical user interface (GUI) debugging tools, such as xxgdb,3 DDD,4 and insight,5 which are built on gdb. This chapter presents information on remotely debugging a simple program across the network. You can then use this debugging knowledge and other tools to enhance your environment and decrease your development time.