Skip to Content
Debugging Embedded Linux
book

Debugging Embedded Linux

by Christopher Hallinan
August 2006
Intermediate to advanced
100 pages
1h 41m
English
Pearson

Overview

No matter how you approach it, Linux debugging will always be complex. The first part of this Short Cut examines some of these complexities as they relate to kernel debugging and present ideas and methods to improve your debugging skills, inside the kernel itself and then inside device drivers. You begin by learning to use Kernel GNU Debugger (KGDB) to probe the kernel. But because you cannot debug very early kernel startup code with KGDB, we also show you how to work with a hardware debug probe. For the examples in this section, we use a unit manufactured by Abatron called the BDI-2000. Hardware debug probes are often called JTAG probes, because they use a low-level communications method first employed for boundary scan testing of integrated circuits defined by the Joint Test Action Group (JTAG).

            In the second part of this Short Cut, we continue our coverage of GDB for debugging application code in user space. We extend our coverage of remote debugging and the tools and techniques used for this peculiar debugging environment.

This Short Cut includes Chapters 14 and 15 from the book Embedded Linux Primer by Christopher Hallinan (0-13-167984-8). As such, it contains references to earlier and later chapters that are not included in this Short Cut. Apart from these references, the Short Cut is fully self-contained and is an excellent choice for embedded Linux developers interested in learning both kernel-level and application-level debugging techniques.

Kernel Debugging Techniques

14.1    Challenges to Kernel Debugging    4

14.2    Using KGDB for Kernel Debugging    6     

14.3    Debugging the Linux Kernel    14 

14.4    Hardward-Assisted Debugging    53

14.5    When It Doesn't Boot    63

14.6    Chapter Summary    69

Debugging Embedded Linux Applications

15.1    Target Debugging    72

15.2    Remote (Cross) Debugging    73

15.3    Debugging with Shared Libraries    80

15.4    Debugging Multiple Tasks    87

15.5    Additional Remote Debug Options    97

15.6    Chapter Summary    99

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Debugging Linux Systems

Debugging Linux Systems

Sreekrishnan Venkateswaran
Embedded Linux for Developers

Embedded Linux for Developers

Alexandru Vaduva, Alex González, Chris Simmonds
Embedded Linux

Embedded Linux

John Lombardo

Publisher Resources

ISBN: 0131580132