Wow, this pops up only a few days after I discover the existence of pyrasite[0]. I even created a wrapper around it to get a decent REPL (using ptpython[1]) and am planning to extend it over time into a kind of Pharo/Smalltalk live coding experience.
- It'll be possible to print stack traces without modifying or stopping the program.
- It'll be possible to exec into a program at runtime without modifying it.
I'm not sure why the author mentions remote_pdb - this has been with Python for some time, and works since Py 2.7? Not sure what changes in 3.14 for remote_pdb.
What I'm hoping though is improved tooling around debugging Python. Currently, in my experience, VSCode (more specifically, debugpy) provides pretty much unmatched remote debugging capabilities, and I'm really hoping we can have a standardized way to connect any IDE to remote Python processes with the same UX as VSCode.
I would love to use something like Zed, but without remote debugging abilities, the IDE is pretty useless for me. Perhaps better devs don't need remote debugging, but I depend on it more than a junior in college CS program depends on AI :)
jasonjmcghee · 5h ago
I thought the author mentioned remote pdb because it sounds like you can use it to attach to cpython now, and previously gdb would have been needed? I'm at last a few years behind on debugging cpython... But always used gdb.
maeln · 6h ago
If I understand correctly, this would be very useful to debug application running on GUnicorn, Celery, etc. Apps that usually have several workers / processes / threads. Currently, it is very annoying to use pdb for that. The Debug Adapter Protocol works well for this case, but the only fully feature, and not buggy, client right now is VSCode (last I checked, the nvim implementation was still a bit buggy. Didn't try the Emacs one).
I really like debugging in a simple shell (à la gdb) so this would really be nice for my workflow.
BossingAround · 5h ago
When debugging multi-threaded env with debugpy & VSCode, VSCode jumps to code that is active in currently active thread. Is DAP something different? From briefly looking at the docs, it seems like DAP calls debugpy for Python debugging, so we're probably talking about the same experience?
maeln · 5h ago
yes debugpy is the implementation of dap for python
poulpy123 · 5h ago
I don't know if it's possible byt I would love to have a debugger that allows to go back in time from a breakpoint or an exception
dripton · 4h ago
Yes, the term you're looking for is "reverse debugging". It exists, and it's better.
Just to clarify, this requires both the client and the debugging script to be running 3.14? So I cannot have a script running an older version of Python but use a Python 3.14 debug script to attach to the running script?
joshlk · 2h ago
Yes
frou_dh · 5h ago
Seems pretty nice. I was getting worried when it was talking about requiring a third-party library (remote_pdb), but at least it sounds like you can now attach pdb to any running process on the same box using OOTB tooling only.
[0] https://pyrasite.readthedocs.io/en/latest/ [1] https://github.com/prompt-toolkit/ptpython
- It'll be possible to print stack traces without modifying or stopping the program.
- It'll be possible to exec into a program at runtime without modifying it.
I'm not sure why the author mentions remote_pdb - this has been with Python for some time, and works since Py 2.7? Not sure what changes in 3.14 for remote_pdb.
What I'm hoping though is improved tooling around debugging Python. Currently, in my experience, VSCode (more specifically, debugpy) provides pretty much unmatched remote debugging capabilities, and I'm really hoping we can have a standardized way to connect any IDE to remote Python processes with the same UX as VSCode.
I would love to use something like Zed, but without remote debugging abilities, the IDE is pretty useless for me. Perhaps better devs don't need remote debugging, but I depend on it more than a junior in college CS program depends on AI :)
I really like debugging in a simple shell (à la gdb) so this would really be nice for my workflow.