Language Selection

English French German Italian Portuguese Spanish

Kernel Debugging Techniques

Filed under
HowTos

Often the pivotal factor in achieving development timetables comes down to one's efficiency in finding and fixing bugs. Debugging inside the Linux kernel can be quite challenging. No matter how you approach it, kernel debugging will always be complex. This chapter examines some of the complexities and presents ideas and methods to improve your debugging skills inside the kernel and device drivers.

Debugging Optimized Kernel Code

At the start of this chapter, we said that one of the challenges identified in debugging kernel code results from compiler optimization. We noted that the Linux kernel is compiled by default with optimization level -O2. In the examples up to this point, we used -O1 optimization to simplify the debugging task. Here we illustrate one of the many ways optimization can complicate debugging.

The related Internet mail lists are strewn with questions related to what appear to be broken tools. Sometimes the poster reports that his debugger is singlestepping backward or that his line numbers do not line up with his source code. Here we present an example to illustrate the complexities that optimizing compilers bring to source-level debugging. In this example, the line numbers that gdb reports when a breakpoint is hit do not match up with the line numbers in our source file due to function inlining.

Full Story.

More in Tux Machines

Android Leftovers

  • OnePlus Will Reveal Details Of Its ‘Oxygen’ Android ROM On February 12
    OnePlus introduced its own version of Android for its One smartphone earlier this month in response to its standoff with Cyanogen, and now the company has revealed that it will unveil its own ROM which can be installed on third-party Android devices on February 12. Correction: OnePlus tells us that, in fact, it won’t launch the ROM on the 12th. This is a tease-of-a-tease, and instead we can expect to see “more information about the ROM” not an actual download for third-party Android devices.
  • Android is suddenly surrounded by enemies
    Cyanogen is one of these forks. It has just raised $70 million from a number of investors including Microsoft to continue producing its own version of Android that it can position as a direct competitor to Google's.
  • Working New Android 5 Lollipop Features into Your Apps
  • Major Blackphone Security Flaw Discovered
    You might want to think twice before sending that sensitive text message over your supposedly secure Blackphone. A security flaw discovered by an Australian communication security expert could have allowed attackers to decrypt a Blackphone user’s messages, gather location information, and run additional code of the attacker’s choosing.
  • World’s most ‘NSA-proof’ phone vulnerable to simple SMS hack
    A smartphone marketed as the most anti-surveillance, NSA-proof personal device – the BlackPhone – has been found vulnerable to a simple SMS attack that allows the hacker to steal contacts, decrypt messages, and even take full control of the device.

Ubuntu vs. Fedora Linux On Lenovo's X1 Carbon With Core i7 Broadwell

The latest distribution I tried on the X1 Carbon (and the OS I'll ultimately use for running the X1 Carbon in a production capacity as my main system) is Fedora 21. Fedora 21 booted up on the X1 Carbon wonderfully without any issues aside from the trackpoint button clicks being wonky (though the button clicks in the corner of the trackpad works fine). Fedora 21 with Wayland also ran fine on this system with Intel HD Graphics 5500. Overall, it was a pleasant experience without any major problems. Read more

Plex Media Server Review – The Ultimate Steaming Server

Plex Media Server is a media center application that allows users to stream video and audio content to local and remote clients, such as mobile devices or smart TVs. We now take a closer look at this powerful server and client and see what's the fuss all about. Read more