Nathan Shain- "The Journey of Upgrading A Python Version From a Debugger Perspective"
What happens when you develop a Python debugger and the latest Python version breaks it? We’ll go through the process of debugging a Python debugger and the methods we used to solve it efficiently.
When a new Python version is released, the great opportunity to add new features to our software comes around. Yet, alongside those features, there’s always an API break which requires us to make undesired changes to our software. Often, the change can be as small and seemingly insignificant as a signature change or sometimes can be as big as shifting from Python 2 to 3.
In rare cases, due to this upgrade, your software would break. You'd then open your favorite debugger and begin debugging until you pinpoint the issue.
But what happens when you yourself develop a debugger… and need to debug your own debugger?
In this talk I will present what I learned from supporting the latest Python (3.10) when creating a debugger.
I’ll go through the background of the underlying debugging mechanism in Python, show a real-world example of what happens when an undocumented minor change in CPython interpreter breaks the debugger, and how to successfully find the solution. I’ll share some personal anecdotes of my own journey doing so and the tips and tricks I learned along the way.