David Khosid (Technion and Sandvine)
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.
Preparing a program for debugging; starting the debug session
Controlling GDB: getting help, navigating, using breakpoints and watchpoints
Extending GDB through user-defined commands
Analyzing STL containers and algorithms
Dealing with multi-threading, C++ exceptions
Automating repetitive tasks on the almost unchanging code base
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.