Skip to main content

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.

Talk~ None of these topics

The speaker

Ramón Corominas

I'm a freelance accessibility consultant based in Oviedo, Spain. I have 15-year experience in web development and since 2019 I'm learning Python and developing small programs for my special needs as a blind developer