繁体   English   中英

在Jupyter中停止ipdb调试

[英]Stopping ipdb debugging in Jupyter

我正在使用Jupiter并尝试学习如何调试。 但是,我无法完成退出调试模式。

for i in np.arange(1,10, 0.01):
    a = someFunc(i)
    # I want to check the value of "a" in each iteration
    # here!
    from IPython.core.debugger import Tracer; Tracer()() #this one triggers the debugger

如果我运行此代码并在debugging ipdb提示符下键入“q”或“exit”,它只是继续运行代码直到下一个断点,我无法停止调试。 我该如何停止调试? 我查看了文档,但找不到除“q”之外的任何其他命令。

您需要在进入循环之前开始跟踪。 目前发生的是您在每个循环步骤中创建一个新的调试器实例。

你的代码看起来像这样:

from IPython.core.debugger import Tracer

for i in np.arange(1,10, 0.01):
    a = someFunc(i)
    Tracer()()

您将获得一个命令行提示符,其中可以使用所有标准ipdb函数。 通过在执行someFunc(i)后立即调用Tracer,每次迭代都会得到一个新提示。 要继续执行,直到下一次迭代使用c命令。 要设置断点,请使用b <line number> q将一起停止执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM