How can I make ipdb show more lines of context while debugging?
You can get more context by doing:
ipdb.set_trace(context=21)
Permanent context size
To permanently set context size, find the installation directory by doing
python -c 'import ipdb; print(ipdb)'
which will show you a __init__.py
file. Open that file and find the line (which may also be found in IPDB's __main__.py
:
def set_trace(frame=None, context=3):
change the 3
to however many context lines you want.
You can type l
in ipdb to show a few more lines of the current context
and you can keep hitting l
and it continue revealing more lines from the file
If you want to show more lines of context around the current line you can type l
to get the current line. And then type l curr_line - 10, curr_line + 10
. Say I was on line 50 and I wanted to see the surrounding 20 lines. I would type: l 40,60
to see more.
As noted by @jrieke in a comment, you can also hit ll
to get a bigger chunk of context. One nice thing about ll
is it will print all the way back from the start of the current method (whereas consecutive l
s reveal further lines below your breakpoint).