我希望我可以提供一个使用标准库代码的简单示例案例,但不幸的是,它仅在使用我们的内部库之一时发生,而该库又构建在 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
;一切正常)。
这是在黑暗中拍摄的,但是以前有人遇到过吗?