ipdb / set_trace()挂起

时间:2015-03-14 23:40:30

标签: python debugging ipdb

我是新手使用ipdb并按照示例添加了

print "I see this print statement\n"
foo="bar"
import ipdb
ipdb.set_trace()
print "Never see this statement because program hangs:
print "But if the prior two debugging lines were removed it DOES show up"

在我的代码中的一个点上,在有一些数据问题的部分之前。 通过添加此代码,我的程序就会挂起:没有打印语句,没有断点,只有继续的方法是点击control-c。

这里可能会发生什么?

更新我关闭/重启ipython。这清除了一些东西:现在我可以进入ipdb提示

ipdb> 

但是,当我尝试打印任何变量时,它仍会挂起:

ipdb.  print foo

1 个答案:

答案 0 :(得分:0)

我的团队经常遇到这种情况,因为我们所有的AWS实例都通过NFS安装了共享主目录。当文件在NFS文件系统上时,SQLite存在一些问题。 ipython(和ipdb)在幕后使用sqlite。

ipython的sqlite数据库路径是〜/ .ipython / profile_default / history.sqlite。

我的解决方案是用符号链接将该文件替换为/ var / tmp中的空文件。