Wine调试器API服务

提供通过API远程调试Wine环境下Windows应用程序的服务。

  • by maci0
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 maci0/mcp-winedbg

使用说明

WineDbg MCP服务器

此项目提供了一个包装Wine调试器的服务器(winedbg)并通过简单的API公开其功能。这允许您从远程客户端调试在Wine下运行的Windows应用程序。

安装

  1. 安装Wine和 winedbg.

  2. 创建一个Python虚拟环境并安装所需的依赖项:

    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    

用法

  1. 启动服务器:

    python -m src.mcp_server
    
  2. 运行测试客户端以查看服务器的运行情况:

    python tests/test_client.py
    

使用测试应用程序进行测试

这个项目包括一个简单的C应用程序,可用于测试服务器。

  1. 编译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

  2. 运行测试客户端:

    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 环境变量。