This recording shows the use of pdb, ipdb and pudb with a Sphinx extension that resides right in conf.py. It also shows how to use breakpoint().
Important things to remember:
Always clear the cache before attempting to rebuild the docs, otherwise, your code may end up not being called at all.
Force Sphinx to use a single process. If you allow parallelism, you’ll have trouble getting your debugger to work because subprocesses are not connected to your terminal.
This method should work with any debugger you may have integrated.