在 IPython 中使用多个断点调试 Python 脚本

Debug Python Script Using Multiple Breakpoints in IPython

我们如何使用 IPython 在 Python 中设置多个断点,例如我们在第 4 行和第 100 行停止?

此外,我们是否可以改变主意,在已经调试的情况下设置额外的断点?

iPython provides IPython.core.debugger.Tracer 调试器class 可用于调试。

假设我用 myScript.py:

编写了以下代码
from IPython.core.debugger import Tracer
zz = Tracer()

print "iPython"
zz()
print "is a"
print "command shell"
zz()
print "for"
print "interactive computing"
print "in"
print "multiple programming languages"
print "including"
print "Python"

如您所见,我从第 5 行和第 8 行开始在脚本中设置了 2 个断点。下面,我是 运行 这个脚本,并将在第 12 行和第 13 行再设置 2 个断点。

$ ipython myScript.py
iPython
> /home/user/Documents/myScript.py(6)<module>()
      4 print "iPython"
      5 zz()
----> 6 print "is a"
      7 print "command shell"
      8 zz()

ipdb> break 12
Breakpoint 1 at /home/user/Documents/myScript.py:12
ipdb> break 13
Breakpoint 2 at /home/user/Documents/myScript.py:13

此外,在内部调试时,您可以使用命令 c 继续,使用 n 进行下一步。希望对你有帮助。