2

我是使用 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
4

1 回答 1

1

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

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

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

于 2016-03-22T16:04:09.670 回答