局部变量对 Python 调试器不可用



我试图找出导致我的应用程序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)

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

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

我不知所措,这是我第一次发现此错误。请帮忙!

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

(Pdb) p _version

与普通

(Pdb) _version

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

最新更新