@@ -24,6 +24,8 @@ extern PyTypeObject _PyExc_MemoryError;
24
24
#define _PyRuntimeState_INIT (runtime ) \
25
25
{ \
26
26
.debug_offsets = { \
27
+ .cookie = "xdebugpy", \
28
+ .version = PY_VERSION_HEX, \
27
29
.runtime_state = { \
28
30
.finalizing = offsetof(_PyRuntimeState, _finalizing), \
29
31
.interpreters_head = offsetof(_PyRuntimeState, interpreters.head), \
@@ -36,30 +38,47 @@ extern PyTypeObject _PyExc_MemoryError;
36
38
.sysdict = offsetof(PyInterpreterState, sysdict), \
37
39
.builtins = offsetof(PyInterpreterState, builtins), \
38
40
.ceval_gil = offsetof(PyInterpreterState, ceval.gil), \
41
+ .gil_runtime_state_locked = offsetof(PyInterpreterState, _gil.locked), \
42
+ .gil_runtime_state_holder = offsetof(PyInterpreterState, _gil.last_holder), \
39
43
}, \
40
44
.thread_state = { \
41
45
.prev = offsetof(PyThreadState, prev), \
42
46
.next = offsetof(PyThreadState, next), \
43
47
.interp = offsetof(PyThreadState, interp), \
44
48
.cframe = offsetof(PyThreadState, cframe), \
45
49
.thread_id = offsetof(PyThreadState, thread_id), \
50
+ .native_thread_id = offsetof(PyThreadState, native_thread_id), \
46
51
}, \
47
- .frame_object = { \
52
+ .interpreter_frame = { \
48
53
.previous = offsetof(_PyInterpreterFrame, previous), \
49
54
.executable = offsetof(_PyInterpreterFrame, f_executable), \
50
55
.prev_instr = offsetof(_PyInterpreterFrame, prev_instr), \
51
56
.localsplus = offsetof(_PyInterpreterFrame, localsplus), \
52
57
.owner = offsetof(_PyInterpreterFrame, owner), \
53
58
}, \
59
+ .cframe = { \
60
+ .current_frame = offsetof(_PyCFrame, current_frame), \
61
+ .previous = offsetof(_PyCFrame, previous), \
62
+ }, \
54
63
.code_object = { \
55
64
.filename = offsetof(PyCodeObject, co_filename), \
56
65
.name = offsetof(PyCodeObject, co_name), \
57
66
.linetable = offsetof(PyCodeObject, co_linetable), \
58
67
.firstlineno = offsetof(PyCodeObject, co_firstlineno), \
59
68
.argcount = offsetof(PyCodeObject, co_argcount), \
60
69
.localsplusnames = offsetof(PyCodeObject, co_localsplusnames), \
70
+ .localspluskinds = offsetof(PyCodeObject, co_localspluskinds), \
61
71
.co_code_adaptive = offsetof(PyCodeObject, co_code_adaptive), \
62
72
}, \
73
+ .pyobject = { \
74
+ .ob_type = offsetof(PyObject, ob_type), \
75
+ }, \
76
+ .type_object = { \
77
+ .tp_name = offsetof(PyTypeObject, tp_name), \
78
+ }, \
79
+ .tuple_object = { \
80
+ .ob_item = offsetof(PyTupleObject, ob_item), \
81
+ }, \
63
82
}, \
64
83
.allocators = { \
65
84
.standard = _pymem_allocators_standard_INIT(runtime), \
0 commit comments