def resolveCompoundVariable(thread_id, frame_id, scope, attrs):
    frame = findFrame(thread_id, frame_id)
    attrList = attrs.split('\t')
    if scope == "GLOBAL":
        var = frame.f_globals
        del attrList[0] # globals are special, and they get a single dummy unused attribute
    else:
        var = frame.f_locals

    for k in attrList:
        type, _typeName, resolver = getType(var)
        var = resolver.resolve(var, k)

    try:
        type, _typeName, resolver = getType(var)
        return resolver.getDictionary(var)
    except:
        traceback.print_exc()
returns the value of the compound variable as a dictionary
dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/common/diagnostic/pydevDebug/pydevd_vars.py/resolveCompoundVariable