2021-05-02, 14:30–14:55, General Track 2
In this talk we'll use a real-life use case to learn how extending GDB with Python can help us to solve bugs, all while digging deep into the internals of Python locks and how they're implemented.
Debugging deadlocks is hard. Debugging deadlock in production is even harder.
This talk will demonstrate how Python’s state can be debugged in production using GDB and how can we easily add it to our debug toolkit. There's much we can do with extending GDB with Python to better understand the internals of the language, and even to customize it to our own debugging needs.
We'll learn about CPython's locks, how they affect us, and how to debug a multithreaded Python process in real-time using GDB.