Embedded Linux Primer: A Practical Real-World Approach

13.7. Chapter Summary

  • The GNU Debugger (GDB) is a complex and powerful debugger with many capabilities. We presented the basics to get you started.

  • The DDD graphical front end for GDB integrates source code and data display with the power of GDB command line interface capabilities.

  • cbrowser is a useful aid for understanding large projects. It uses the cscope database to rapidly find and display symbols and other elements of C source code.

  • Linux is supported by many profiling and trace tools. We presented several, including strace, ltrace, top, and ps, and the memory profilers mtrace and dmalloc.

  • Embedded developers often need to build custom images such as those required for bootloaders and firmware images. For these tasks, knowledge of binutils is indispensable. We presented many of the utilities found in binutils, including readelf, objdump, objcopy, and several others.

13.7.1. Suggestions for Additional Reading

GDB: The GNU Project Debugger: www.gnu.org/software/gdb/gdb.html

GDB Pocket Reference

Arnold Robbins O'Reilly Media, 2005

Data Display Debugger:

www.gnu.org/software/ddd/

cbrowser home page: http://cbrowser.sourceforge.net/

cscope home page:

http://cscope.sourceforge.net/index.html

dmallocDebug Malloc Library:

http://dmalloc.com/

Tool Interface Standard (TIS) Executable and Linking Format (ELF)

Specification

Version 1.2

TIS Committee, May 1995

Tool interface standards:

DWARF Debugging Information Format Specification

Version 2.0

TIS Committee, May 1995

Категории