Matt Joiner
Matt Joiner

Reputation: 118470

Step into subroutine call, but not calls made for parameters

func(a(), b.c)

When executing the line above in the pdb debugger, using step will actually step into a, and then into the getter for b.c if its atypical (such as being a property), before actually stepping into func.

Generally I find myself using step followed by r to return from the frames I'm not interested in, and often inexplicably pass over and miss the opportunity to step directly into func.

How do I step directly into func, or what sequence of debugger commands will guarantee that I end up in func rather than passing over it?

Upvotes: 1

Views: 307

Answers (2)

Vicki Laidler
Vicki Laidler

Reputation: 3489

I would handle this by setting a break at the line number inside func that you're interested in, and then use continue. For example suppose your code looks like this:

110  def func(a1, a2):
111      "" docstring ""
112      first interesting line

then do this:

python -m pdb caller.py
pdb> b 112
pdb> c

Upvotes: 0

Alex Martelli
Alex Martelli

Reputation: 881487

tb func ("temporary break at func") followed by c ("continue") should work.

Upvotes: 2

Related Questions