{
    "type": "pointer",
    "ctype": "Foo *",
    "address": "0x7fffffffd768",
    "reference": {
        "type": "struct",
        "ctype": "Foo1",
        "address": "0x55555556aeb0",
        "fields": [
            {
                "field": "b",
                "value": {
                    "type": "int",
                    "ctype": "uint16_t",
                    "address": "0x55555556aeba",
                    "value": "2"
                }
            }
        ],
        "base_classes": [
            {
                "base_class": "Foo",
                "value": {
                    "type": "struct",
                    "ctype": "Foo",
                    "address": "0x55555556aeb0",
                    "fields": [
                        {
                            "field": "_vptr.Foo",
                            "value": {
                                "type": "pointer",
                                "ctype": "int (**)(void)",
                                "address": "0x55555556aeb0",
                                "reference": {
                                    "type": "pointer",
                                    "ctype": "int (*)(void)",
                                    "address": "0x555555557c88",
                                    "reference": {
                                        "type": "extract failed"
                                    }
                                }
                            }
                        },
                        {
                            "field": "a",
                            "value": {
                                "type": "int",
                                "ctype": "uint8_t",
                                "address": "0x55555556aeb8",
                                "value": "1"
                            }
                        }
                    ],
                    "base_classes": []
                }
            }
        ]
    }
}