当我运行它时,cProfile模块基本上会跳过一些函数,而普通的配置文件模块会产生这个错误。
The debugged program raised the exception unhandled AssertionError
"('Bad call', ('objects/controller/StageController.py', 9, '__init__'), <frame object at 0x9bbc104>, <frame object at 0x9bb438c>, <frame object at 0x9bd0554>, <frame object at 0x9bcf2f4>)"
File: /usr/lib/python2.6/profile.py, Line: 301
我做了所有的搜索,我找不到任何东西。我如何使它们正常工作?
@ yk4ever
StageController.py类如下所示:
class StageControl(ObjectControl):
def __init__(self, canvas_name):
ObjectControl.__init__(self, canvas_name,"stage_object")
self.model = StageModel()
self.variables()
self.make_stage()
self.overrides()
上面的“Bad call”错误似乎不喜欢这个类
答案 0 :(得分:2)
我发现了问题。 Psyco 我的'StageControl'继承的'ObjectControl'类有一个简单的:
import psyco
psyco.full()
INSIDE该类导致了错误,因此只有继承了'ObjectControl'的类中的方法导致了profiler失败。我在某个地方读到了只在有需要的地方导入psyco是一个好主意,结果证明这是一个坏主意。
我曾经使用过psyco一段时间,直到我遇到cython,但由于某种原因,留下了psyco导入声明,其长度足以让探测器变得笨拙。自从倾销了psyco之后。
故事的寓意是:坚持cython,在一天结束时,没有什么比C更好。
答案 1 :(得分:0)
Python Bug #1117670似乎描述了同样的问题。一个最小的测试脚本,以重现那里也附加的类似问题。该错误已被标记为已修复。
请参阅上面的Python错误报告中的msg24185 以获取解决方法,可以在 Python 2.4 上使用。
您使用的是哪个Python版本?