0

我希望我可以提供一个使用标准库代码的简单示例案例,但不幸的是,它仅在使用我们的内部库之一时发生,而该库又构建在 sql alchemy 之上。

基本上,问题在于这个break命令:

(Pdb) print sqlalchemy.engine.base.__file__
/prod/eggs/SQLAlchemy-0.5.5-py2.5.egg/sqlalchemy/engine/base.py

(Pdb) break /prod/eggs/SQLAlchemy-0.5.5-py2.5.egg/sqlalchemy/engine/base.py:946 

似乎被完全忽略了pdb。例如,即使我很肯定代码正在被命中(既因为我可以看到日志消息,也因为我曾经sys.settrace检查过哪些文件正在被命中),pdb但并没有在那里中断。

我怀疑使用鸡蛋会以某种方式混淆pdb正在使用的文件(如果我使用非鸡蛋库,我无法重现错误,例如pickle;一切正常)。

这是在黑暗中拍摄的,但是以前有人遇到过吗?

4

3 回答 3

0

什么版本的python正在运行?我在 python 2.7.3 上观察到类似的行为。奇怪的是,我在 ipython 0.12.1 上看不到相同的行为

在 python 2.7.3 中,调试器和堆栈跟踪获取异常发生错误的点。

在 ipython 0.12.1 中,调试器和堆栈跟踪获取异常发生的点是正确的,但是一旦发生异常,则程序退出,这使得事后调试变得困难。

于 2013-02-11T05:25:00.257 回答
0

我想知道是否有一个旧的 .pyc 由于权限被弄乱而无法删除。核对你的 python 路径中的所有 .pycs,看看是否有帮助。

这篇博文可能与您的麻烦有关。

于 2009-10-17T00:11:11.183 回答
0

我不认为这是由 setuptools 引起的另一个问题?我问是因为我注意到那条路径中的“.egg”......

于 2010-04-14T00:06:24.770 回答