python调试器无法使用的局部变量

时间:2014-03-03 20:16:07

标签: python debugging nameerror pdb

我正在尝试找出导致我的应用程序进入SEGFAULT的原因,并设法将其跟踪到某个模块。我在模块的某个功能中设置了跟踪:

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)

如果我想检查局部变量 _version algm ,我会收到以下错误:

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

我很茫然,这是我第一次发现这个错误。请帮忙!

1 个答案:

答案 0 :(得分:0)

我不是pdb的专家,它可能只是你的示例代码中的拼写错误,而不是你实际尝试的内容,但是你不需要在pdb中键入以下内容来打印变量吗?

(Pdb) p _version

对比简单

(Pdb) _version

对不起,如果那不是正在发生的事情,那就是我唯一看到的错误。祝你好运!