【发布时间】:2012-08-18 05:31:04
【问题描述】:
我想在 set.update() 函数上设置一个断点,但是当我尝试时,我收到一条错误消息。
例子:
ss= set()
ss.update('a')
断点:
b set.update
b ss.update
错误:
The specified object 'ss.update' is not a function
or was not found along sys.path.
The specified object 'set.update' is not a function
or was not found along sys.path.
(请注意,我也尝试使用末尾的括号,例如b set.update(),但仍然出现错误。我没有打印所有错误排列。)
【问题讨论】:
-
如果您有模块的
py文件,那么您可以,如果只有pyc文件,您将无法这样做... -
嗨@avasal,我有
py文件,我该怎么处理它? -
有两种方法,首先你可以在调用内置函数之前在代码中设置一个断点然后单步执行,第二种是你可以修改内置模块文件,通过在文件并添加
pdb.set_trace()然后开始调试 -
第一种方法太费力了——有无数次调用
update来获取分散在我的代码中的各种集合。第二种方法对我不起作用。我尝试了两种方法: 1. 我在/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7中编辑了 sets.py 文件结果:程序在pdb.set_trace()处没有停止运行 2. 我尝试通过 file:line number 设置断点,b sets.py:343但得到了这个错误:Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x10dcb6140> ignored -
我想通了,会更新我原来的问题。