Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb04fbc5

Browse files
committed
gh-91048: Refactor _testexternalinspection and add Windows support
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
1 parent1007aab commitb04fbc5

9 files changed

+482
-630
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#ifndefPy_INTERNAL_REMOTE_DEBUG_H
2+
#definePy_INTERNAL_REMOTE_DEBUG_H
3+
#ifdef__cplusplus
4+
extern"C" {
5+
#endif
6+
7+
#ifndefPy_BUILD_CORE
8+
# error "this header requires Py_BUILD_CORE define"
9+
#endif
10+
11+
#include<stdio.h>
12+
13+
#ifndefMS_WINDOWS
14+
#include<unistd.h>
15+
#endif
16+
17+
// Define a platform-independent process handle structure
18+
typedefstruct {
19+
pid_tpid;
20+
#ifdefMS_WINDOWS
21+
HANDLEhProcess;
22+
#endif
23+
}proc_handle_t;
24+
25+
// Initialize a process handle
26+
PyAPI_FUNC(int)_Py_RemoteDebug_InitProcHandle(proc_handle_t*handle,pid_tpid);
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_tremote_address,size_tlen,void*dst);
39+
40+
// Write memory to a remote process
41+
PyAPI_FUNC(int)_Py_RemoteDebug_WriteRemoteMemory(proc_handle_t*handle,uintptr_tremote_address,size_tlen,constvoid*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+
#ifdef__cplusplus
47+
}
48+
#endif
49+
#endif/* !Py_INTERNAL_DEBUG_OFFSETS_H */

‎Makefile.pre.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1290,6 +1290,7 @@ PYTHON_HEADERS= \
12901290
$(srcdir)/Include/internal/pycore_crossinterp.h \
12911291
$(srcdir)/Include/internal/pycore_crossinterp_data_registry.h \
12921292
$(srcdir)/Include/internal/pycore_debug_offsets.h \
1293+
$(srcdir)/Include/internal/pycore_remote_debug.h \
12931294
$(srcdir)/Include/internal/pycore_descrobject.h \
12941295
$(srcdir)/Include/internal/pycore_dict.h \
12951296
$(srcdir)/Include/internal/pycore_dict_state.h \

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp