I'm trying to learn pdb using this tutorial referenced from another stackoverflow question, and I'm on the 3rd step of the Getting Started section.
In [12]: %paste
# epdb1.py -- experiment with the Python debugger, pdb
import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final
## -- End pasted text --
--Return--
> <ipython-input-12-48afa1c7ad72>(4)<module>()->None
-> pdb.set_trace()
(Pdb) l
1 # epdb1.py -- experiment with the Python debugger, pdb
2 import pdb
3 a = "aaa"
4 -> pdb.set_trace()
5 b = "bbb"
6 c = "ccc"
7 final = a + b + c
8 print final
[EOF]
(Pdb) n
> /Users/jg/anaconda/lib/python2.7/site-packages/IPython/core/interactiveshell.py(3038)run_code()
-> sys.excepthook = old_excepthook
(Pdb) l
3033 self.hooks.pre_run_code_hook()
3034 #rprint('Running code', repr(code_obj)) # dbg
3035 exec(code_obj, self.user_global_ns, self.user_ns)
3036 finally:
3037 # Reset our crash handler in place
3038 -> sys.excepthook = old_excepthook
3039 except SystemExit as e:
3040 if result is not None:
3041 result.error_in_exec = e
3042 self.showtraceback(exception_only=True)
3043 warn("To exit: use 'exit', 'quit', or Ctrl-D.", level=1)
It looks like n(ext) should move me to the next line in the current frame:
(Pdb) help next
n(ext)
Continue execution until the next line in the current function
is reached or it returns.
And seems to do that successfully in the tutorial's example. But in my ipython it appears to be moving me to the next line within the pdb.set_trace() code.
How do I simply navigate to the 'b = "bbb"' line?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…