What a screen reader can teach you about remote Python debugging
- 30 minutes
The NVDA screen reader is a Python application embedded in a C++ program for performance reasons. Its features can be extended through addons that are also written in Python, so a way to debug both the core and the addons code is highly desirable.
However, debugging code that runs within an embedded Python is a bit tricky, and the task gets even more complicated if you are a blind programmer and hitting a breakpoint freezes the screen reader that you are using to access the computer!
In this talk I will teach you how I found a solution to this challenge by using the Microsoft's debugpy library for remote debugging, a technique taht could be useful to debug other C++ apps that use embedded Python. I will explore how remote debugging works, how to setup a debugging environment using VSCode and how to perform a debugging session attaching to the embedded Python as a remote process.