WineDbg MCP服务器
此项目提供了一个包装Wine调试器的服务器(winedbg)并通过简单的API公开其功能。这允许您从远程客户端调试在Wine下运行的Windows应用程序。
安装
- 安装Wine和
winedbg.
- 创建一个Python虚拟环境并安装所需的依赖项:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt用法
- 启动服务器:
python -m src.mcp_server- 运行测试客户端以查看服务器的运行情况:
python tests/test_client.py使用测试应用程序进行测试
这个项目包括一个简单的C应用程序,可用于测试服务器。
- 编译32位Windows的测试应用程序:
i686-w64-mingw32-gcc -o tests/test_app.exe tests/test_app.c如果你没有MinGW-w64交叉编译器,你可以在Debian/Ubuntu上安装它: sudo apt-get install gcc-mingw-w64-i686
- 运行测试客户端:
python tests/test_client.py测试客户端将自动使用 test_app.exe 以测试服务器的功能。
MCP服务器配置
如果您使用的客户端支持启动MCP服务器,则可以使用以下JSON对其进行配置。这告诉客户如何启动 winedbg 服务器。
注: 确保更换 /ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-winedbg 使用系统上此项目目录的实际绝对路径。
{
"mcpServers": {
"winedbg": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-winedbg/.venv/bin/python",
"args": [
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-winedbg/src/mcp_server.py"
]
}
}
}可用工具
服务器公开了以下工具:
run:在中运行可执行文件winedbg.attach:附加到进程。quit:退出winedbg.detach:脱离流程。kill:终止进程。cont:继续执行。break_at:设置断点。watch:设置一个观察点。info_break:获取断点信息。delete_breakpoint:删除断点。backtrace:回溯一下。frame:选择堆栈帧。up:向上移动堆栈。down:向下移动堆栈。step:步骤执行。next:下一次执行。stepi:步骤说明。nexti:下一个指令。finish:完成当前函数的执行。print_var:打印变量。examine_memory:检查记忆。info_locals:获取局部变量。info_args:获取函数参数。info_proc:获取进程信息。info_threads:获取线程信息。info_share:获取共享库信息。set_debug_channel:设置WINEDEBUG环境变量。get_debug_channels:获取WINEDEBUG环境变量。
