首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >导致nosetests冻结的pdb.set_trace()不会进入调试器

导致nosetests冻结的pdb.set_trace()不会进入调试器
EN

Stack Overflow用户
提问于 2012-01-26 11:52:35
回答 2查看 8.8K关注 0票数 54

我正在使用nosetest运行一套测试(.py文件)。使用经典的

代码语言:javascript
复制
import pdb; pdb.set_trace()

nosetests的运行永远不会完成。它只是挂在设置了断点的地方,而不是放到pdb调试器中。

你知道为什么会这样吗?我已经尝试将断点移动到许多不同的位置(其他测试函数、其他文件),但都无济于事。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-26 12:13:53

使用pdb / --nocapture选项运行nose,您将能够看到pdb提示并正常地与调试器交互。

如果使用命令行,这意味着:-

代码语言:javascript
复制
python manage.py  test -s [other-opts-and-args]
票数 61
EN

Stack Overflow用户

发布于 2012-01-26 11:54:47

Nose正在捕获输出并将其重定向。因此,命中了断点,但您只是看不到它。您需要关闭输出重定向,以便调试输出显示在屏幕上。

如果您使用以下命令,则Nose可以为您完成此操作:

代码语言:javascript
复制
from nose.tools import set_trace; set_trace()

而不是:

代码语言:javascript
复制
import pdb;pdb.set_trace()
票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9013728

复制
相关文章

相似问题

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