[Python-Dev] PEP 553: Built-in debug() (original) (raw)

Fernando Perez fperez.net at gmail.com
Wed Sep 6 19:55:20 EDT 2017


If I may suggest a small API tweak, I think it would be useful if breakpoint() accepted an optional header argument. In IPython, the equivalent for non-postmortem debugging is IPython.embed, which can be given a header. This is useful to provide the user with some information about perhaps where the breakpoint is coming from, relevant data they might want to look at, etc:

from IPython import embed

def f(x=10):
    y = x+2
    embed(header="in f")
    return y

x = 20
print(f(x))
embed(header="Top level")

I understand in most cases these are meant to be deleted right after usage and the author is likely to have a text editor open next to the terminal where they're debugging. But still, I've found myself putting multiple such calls in a code to look at what's going on in different parts of the execution stack, and it can be handy to have a bit of information to get your bearings.

Just a thought...

Best

f



More information about the Python-Dev mailing list