我正在调试一个sys.path看起来像
的python脚本sys.path = ['','home/my_library', ..]
我在使用pdb时在my_library
模块中设置断点时遇到麻烦。
该脚本使用以下命令导入库:
import my_library as foo
反过来,my_library通过以下方式使其模块可用:
from my_module import bar
如何在我的脚本上运行pdb时解决my_module的代码?
PS:我已经尝试了以下但没有成功:b my_module:1
b my_library.my_module:1
b my_library.bar:1
b foo.my_module:1
b foo.bar:1
答案 0 :(得分:13)
使用文件名限定断点,而不是对象名:
>>> import pdb
>>> import artwork # module we want to break inside
>>> pdb.set_trace()
--Return--
> <console>(1)<module>()->None
(Pdb) b artwork/models.py:1
Breakpoint 1 at /home/user/projects/artwork/models.py:1
另见this answer。