Sign In
Forgot Password?
Sign In | | Create Account

Best Practices for Debugging Embedded Software

Overview

Debugging an embedded program is both like and unlike debugging other kinds of software. Although the same tools are usually available, embedded debugging is less forgiving - a bad pointer dereference can crash the whole machine - and sometimes mystifying - for instance, if your target's "I/O subsystem" is a single LED. In this presentation we will review standard debugging techniques and how they work for embedded debugging particularly, then move on to some more advanced gadgets in the toolbox, and wrap up by exposing some of the tricks that your embedded system will try to play on you.

What You Will Learn

  • The "eternal truths" of debugging
  • How programming is like forensic science
  • When to use the host instead of the target
  • When to use printf
  • The proper use of breakpoints and single-stepping
  • The value of display options
  • How programs violate abstraction layers
  • How software systems do sleight of hand

About the Presenter

Presenter Image Stan Shebs

Stan Shebs manages the debugger team in Mentor Graphic's Embedded Software Division. He has been a maintainer of the GNU Debugger GDB since 1994, first at Cygnus Solutions, then at Apple and CodeSourcery. In all of these positions, support has been an essential part of the job, and he has worked with hundreds of embedded developers, at every phase of the development process, from architecture simulator and bringup of first silicon, to squeezing out the maximum performance from a mature system. He continues to be fascinated by how bits of program code can result in real-world actions.

Who Should View

  • Anyone who is considering migrating to multicore or leverage the benefits of a multi-OS solution

Products Covered

Related Resources

 
Online Chat