【问题标题】:How to set breakpoints in a library module (pdb)如何在库模块 (pdb) 中设置断点
【发布时间】:2014-04-14 21:57:18
【问题描述】:

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

【问题讨论】:

    标签: python python-2.7 pdb


    【解决方案1】:

    您使用文件名而不是对象名来限定断点:

    >>> 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

    【讨论】:

    • 啊是的,重点是放斜线,而不是点!嗬!我们称之为哥伦布的蛋!!然后解决方案是b my_library/my_module。非常感谢:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2015-12-28
    • 1970-01-01
    • 2010-09-27
    • 2018-12-15
    • 2012-06-27
    • 2012-08-18
    相关资源
    最近更新 更多