CppCon 2018 has ended
Back To Schedule
Thursday, September 27 • 15:50 - 16:20
Liberating the Debugging Experience with the GDB Python API

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

While C++ has continued to evolve to ever higher levels of complexity, debuggers like gdb have largely stayed within their historic, C-oriented feature sets. One compensating advancement is gdb's Python API, which gives programmatic access to most of gdb's features. Using this API, developers can create tools that improve the debugging experience for modern C++ and for their specific codebases.

gdb's Python API provides facilities to create new commands, add and remove breakpoints, improve the printed display of types, manipulate stack traces, get information on variables, and access most features of gdb. Combined with the vast array of libraries available in Python, remarkably powerful tools can be built.

The speaker will begin by demonstrating the creation of custom commands and parameters, then move on to the use of the pretty printing and stack frame filtering APIs. He will then show some tools built by combining gdb features with external Python libraries, such as an improved single-step command using libClang, graphical visualization of algorithm execution, and custom debugging accelerators for specific problem areas.

avatar for Jeff Trull

Jeff Trull

Principal, Trull Consulting
Jeff is a former microprocessor designer and current C++ consultant. He is something of a conference junkie. His interests include numerics - especially for modeling linear systems - performance analysis, and tooling of all kinds.

Thursday September 27, 2018 15:50 - 16:20 PDT
Breckenridge Hall (1st Floor)
  • Tooling