Back to the Club's homepage

Advanced GDb - David Khosid

Abstract

In general, I will be sharing my discovery with you: When the debugging of modern software is required, basic GDB techniques are insufficient, but new techniques can be created from the nearly 160 commands available in GDB. "Modern software" refers to multi- threading, using STL and other libraries, IPC, signals and exception mechanisms. In this lecture, I will explain techniques for debugging large, modern software written in C++.

The presentation will be accompanied by vivid examples for all the topics.

Covered topics:

  1. Preparing a program for debugging; starting the debug session
  2. Controlling GDB: getting help, navigating, using breakpoints and watchpoints
  3. Extending GDB through user-defined commands
  4. Analyzing STL containers and algorithms
  5. Dealing with multi-threading, C++ exceptions
  6. Managing signals
  7. Automating repetitive tasks on the almost unchanging code base
  8. Remote debugging
This is a re-run of a Telux talk from Spetember 6th, 2009. In view of guy keren's recent talks, the focus of the Haifux talk will be automating repetitive tasks, a little more on debugging STL containers etc.

Slides


Back to the Club's homepage