如何在库模块(pdb)中设置断点

时间:2014-04-14 21:57:18

标签: python python-2.7 pdb

我正在调试一个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

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