2009-11-06 56 views
3

基本上cProfile模塊跳過一些功能,當我運行它時,正常的配置文件模塊產生這個錯誤。python c配置文件和配置文件模型跳過功能

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

「壞call」 錯誤上面似乎不喜歡這類

+2

你能提供代碼樣本,特別是呼籲那些功能呢? – yk4ever 2009-11-06 15:48:28

回答

2

我發現了這個問題。 Psyco 的「ObjectControl」類我「StageControl」繼承有一個簡單的:

import psyco 
psyco.full() 

裏面的類,它造成的錯誤,因此唯一方法在繼承的類「ObjectControl」,引起了探查失敗。我在某處讀了一個好主意,只在必要時才導入psyco,結果證明這是一個壞主意。

我曾經使用psyco一段時間,直到我遇到cython,但由於某種原因,psyco導入語句的時間足夠長,以便讓探查器生效。自從傾銷psyco以來。

這個故事的寓意是:只要堅持以cython,在這一天沒有結束跳動C.

0

Python Bug #1117670似乎說明了同樣的問題。一個最小的測試腳本來重現類似的問題也附在那裏。該錯誤已被標記爲已修復。

見上述的Python錯誤報告msg24185爲一種變通方法它可以在使用Python 2.4中

你使用哪個Python版本?

+0

感謝您的幫助,但是我找到了問題....... psyco – spearfire 2009-11-07 02:45:08

+0

當啓用Psyco時,進行任何分析或調試確實不是一個好主意。 – fviktor 2009-11-22 02:46:45