首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPython (木星)笔记本的交互式调试

IPython (木星)笔记本的交互式调试
EN

Stack Overflow用户
提问于 2016-11-08 15:13:48
回答 1查看 4.6K关注 0票数 9

为了调试我的python代码,我使用ipdb库,并使用set_trace()命令放置一个断点。一旦代码到达那里,我就会得到一个具有ipdb>提示符的交互式shell,可以使用选项卡自动完成来探索局部变量。

然而,在IPython (木星)笔记本中,ipdb.set_trace()不起作用。正如本文所建议的:使用ipdb在一个单元格(jupyter或Ipython)中调试python代码

我使用以下选项进行交互式调试:

代码语言:javascript
复制
from IPython.core.debugger import Tracer
Tracer()() #this one triggers the debugger

这给了我ipdb>提示符,但是选项卡自动完成是不可用的。是否存在使用ipython笔记本启用交互式调试的自动完成功能?这是非常有用的,特别是当你有很多长名字的变量时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-20 16:20:21

在Python3.7中,您可以使用断点()函数

此函数会将您放到调用站点的调试器中。具体来说,它调用sys.breakpointhook(),直接传递args和kws。默认情况下,sys.breakpointhook()调用不需要参数的pdb.set_trace()。在本例中,它纯粹是一个方便的函数,因此您不必显式导入pdb或键入足够多的代码才能进入调试器。但是,可以将sys.breakpointhook()设置为其他函数,断点()将自动调用它,从而允许您进入所选择的调试器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40490412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档