There was an error while loading. Please reload this page.
1 parent 1007aab commit b04fbc5Copy full SHA for b04fbc5
9 files changed
Include/internal/pycore_remote_debug.h
@@ -0,0 +1,49 @@
1
+#ifndef Py_INTERNAL_REMOTE_DEBUG_H
2
+#define Py_INTERNAL_REMOTE_DEBUG_H
3
+#ifdef __cplusplus
4
+extern "C" {
5
+#endif
6
+
7
+#ifndef Py_BUILD_CORE
8
+# error "this header requires Py_BUILD_CORE define"
9
10
11
+#include <stdio.h>
12
13
+#ifndef MS_WINDOWS
14
+#include <unistd.h>
15
16
17
+// Define a platform-independent process handle structure
18
+typedef struct {
19
+ pid_t pid;
20
+#ifdef MS_WINDOWS
21
+ HANDLE hProcess;
22
23
+} proc_handle_t;
24
25
+// Initialize a process handle
26
+PyAPI_FUNC(int) _Py_RemoteDebug_InitProcHandle(proc_handle_t *handle, pid_t pid);
27
28
+// Cleanup a process handle
29
+PyAPI_FUNC(void) _Py_RemoteDebug_CleanupProcHandle(proc_handle_t *handle);
30
31
+// Get the PyRuntime section address from a process
32
+PyAPI_FUNC(uintptr_t) _Py_RemoteDebug_GetPyRuntimeAddress(proc_handle_t *handle);
33
34
+// Get the PyAsyncioDebug section address from a process
35
+PyAPI_FUNC(uintptr_t) _Py_RemoteDebug_GetAsyncioDebugAddress(proc_handle_t *handle);
36
37
+// Read memory from a remote process
38
+PyAPI_FUNC(int) _Py_RemoteDebug_ReadRemoteMemory(proc_handle_t *handle, uintptr_t remote_address, size_t len, void* dst);
39
40
+// Write memory to a remote process
41
+PyAPI_FUNC(int) _Py_RemoteDebug_WriteRemoteMemory(proc_handle_t *handle, uintptr_t remote_address, size_t len, const void* src);
42
43
+// Read debug offsets from a remote process
44
+PyAPI_FUNC(int) _Py_RemoteDebug_ReadDebugOffsets(proc_handle_t *handle, uintptr_t *runtime_start_address, _Py_DebugOffsets* debug_offsets);
45
46
47
+}
48
49
+#endif /* !Py_INTERNAL_DEBUG_OFFSETS_H */
Makefile.pre.in
@@ -1290,6 +1290,7 @@ PYTHON_HEADERS= \
1290
$(srcdir)/Include/internal/pycore_crossinterp.h \
1291
$(srcdir)/Include/internal/pycore_crossinterp_data_registry.h \
1292
$(srcdir)/Include/internal/pycore_debug_offsets.h \
1293
+ $(srcdir)/Include/internal/pycore_remote_debug.h \
1294
$(srcdir)/Include/internal/pycore_descrobject.h \
1295
$(srcdir)/Include/internal/pycore_dict.h \
1296
$(srcdir)/Include/internal/pycore_dict_state.h \
0 commit comments