在 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
进行下一步。希望对你有帮助。
我们如何使用 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
进行下一步。希望对你有帮助。