一个我的世界中国版基岩版 Python 调试器后端,简单实现了 DAP 协议。
由于中国版未导出 Python API,本项目通过内存技术实现对游戏内嵌 Python 2.7 解释器的访问和控制。
┌─────────────────────────────────────┐
│ VS Code / IDE │
│ (DAP Client - debugpy) │
└──────────────────┬──────────────────┘
│ TCP (DAP/JSON)
▼
┌─────────────────────────────────────┐
│ MCPDB (mcpdb.dll) │
│ DAP Core / Python Wrapper / Hook │
└──────────────────┬──────────────────┘
│ Hook
▼
┌─────────────────────────────────────┐
│ Minecraft China Bedrock (Py 2.7) │
└─────────────────────────────────────┘
需要 Windows x64, MSVC 2022+, xmake, C++20。
xmake产物:mcpdb.dll 和 mcdbg.exe
如果使用其他前端启动器(如 mcdk),请参考对方的配置文档而不是此处的启动说明。
- 启动
Modpc - 运行
mcdbg.exe - VS Code 配置
launch.json:
- 设置断点,F5 附加调试
nlohmann_json, fmt, detours, expected-lite
- 仅供学习研究
- 特征码可能随游戏更新失效
MIT License
本项目 src/py/ 目录下的 Python 头文件来自 Python 2.7,采用 PSF License。
{ "configurations": [ { "name": "Minecraft Modpc Debug", "type": "debugpy", "request": "attach", "connect": { "host": "localhost", "port": 5678 //由 mcdbg 控制, -p 参数可修改端口 }, "pathMappings": [ { "localRoot": "${workspaceFolder}", "remoteRoot": "${workspaceFolder}" } ], "justMyCode": false } ] }