【问题标题】:how to break out of ipdb debugger?如何摆脱 ipdb 调试器?
【发布时间】:2018-07-26 01:37:32
【问题描述】:

如何退出 ipdb 调试器?根据this question 输入q 应该可以工作。我在 Python 3.6.6、Ipython 6.4.0 上,但在以下情况下不起作用:我有一个函数 f(x),它是从循环中的另一个函数调用的。经过 2 次迭代后,我只想停止评估并退出调试器。我的f(x) 看起来像这样:

def f(x):
    ipdb.set_trace()

字面意思是允许我在运行时检查x。但是,键入 q 不会退出调试器。键入 os._exit(0) 会杀死内核。一定有更好的东西吗?这是在一个 jupyter 笔记本中。

【问题讨论】:

  • Ctrl-D 在这里应该可以正常工作。至少我是这样做的。
  • 映射到浏览器快捷方式的那个,ctr-d是什么?
  • 哦,抱歉,这是在 jupyter 中。你读过this吗?这是一个已解决的问题,因此它可能会提供有关解决方案的详细信息。抱歉,帮不上什么忙。我不是 jupyter 用户。
  • 确实这似乎是问题所在,但我的版本要晚得多,而且看起来仍然存在这个问题......我想我也可能很快就不再是 jupyter 用户了
  • 愚蠢的建议,但您是否尝试过其他浏览器只是为了看看是否可能发生特定于浏览器的恶作剧?

标签: python python-3.x ipython jupyter-notebook ipdb


【解决方案1】:

因为我记得这曾经是 IPython 5.1 中的一个错误,你可以尝试 Ctrl+d 退出调试器,或者 quit(),或者你可以使用 Ctrl+z。

您可以尝试的最后一件事是 Ctrl+c。

【讨论】:

  • 你可以使用的最后一件事是点击菜单“内核”选择“重启”,然后点击“重启”按钮。
  • 这和os._exit(0)的效果一样,我不想杀死内核,必须重新运行整个笔记本才能回到我的上一个开发点
猜你喜欢
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2014-01-28
相关资源
最近更新 更多