Xavier de Gaye added the comment:

The run, runeval and runcall methods run the debugging session in a
try/finally clause and set the global trace function to None in the
finally clause. But set_trace does not run in a try/finally, hence the
problem. A possible fix is to ensure that the bottom frame has a local
trace function and to set the global trace function to None when
returning from that frame. See how this is fixed at

nosy: +xdegaye

Python tracker <rep...@bugs.python.org>
Python-bugs-list mailing list

Reply via email to