2014-03-03 31 views
4

我想了解是什麼導致我的應用程序SEGFAULT,並設法追蹤到某個模塊。我已經設置了模塊的特定功能的trace:本地變量不可用於python調試器

def algorithm_wrapper(*args, **kwargs):   
    _version = version 
    if "Version" in kwargs: 
     _version = kwargs["Version"] 
     del kwargs["Version"] 
    algm = _framework.createAlgorithm(algorithm, _version) 
    pdb.set_trace() 
    _set_logging_option(algm, kwargs) 

如果我要檢查本地變量_versionalgm我得到以下錯誤:

-> _set_logging_option(algm, kwargs) 
(Pdb) _version 
    NameError: name '_version' is not defined 
(Pdb) algm 
    NameError: name 'algm' is not defined 

我不知所措,這是我第一次發現這個錯誤。請幫忙!

+0

'_framework.createAlgorithm'必須以某種方式混淆示波器。嘗試把它變成一個noop,看看問題是否存在。 –

回答

0

我不是pdb專家,它可能只是您的示例代碼中的一個錯字,而不是您實際嘗試過的,但是您是否需要在pdb中鍵入以下內容來打印變量?

(Pdb) p _version 

對戰只是普通

(Pdb) _version 

很抱歉,如果這不是發生了什麼事情,這只是只有我看到不對勁的事情。祝你好運!