eDBG MCP模式配置全攻略:连接Claude、Cursor等主流AI工具
eDBG MCP模式配置全攻略:连接Claude、Cursor等主流AI工具
【免费下载链接】eDBGeBPF-based lightweight debugger for Android with MCP support项目地址: https://gitcode.com/gh_mirrors/edb/eDBG
eDBG是一款基于eBPF的轻量级Android调试器,支持MCP模式,能够无缝连接Claude、Cursor等主流AI工具,为Android应用调试提供智能辅助。本文将详细介绍eDBG MCP模式的配置方法,帮助开发者快速上手并充分利用AI工具提升调试效率。
什么是eDBG MCP模式?
MCP(Machine Control Protocol)模式是eDBG的核心功能之一,它允许将调试器与AI工具集成,实现智能化的调试流程。通过MCP模式,开发者可以利用AI工具的强大能力,如代码分析、问题诊断、自动化操作等,来加速Android应用的调试过程。
eDBG MCP模式的主要特点包括:
- 手机端eDBG提供HTTP MCP服务
- 主机端通过adb forward转发端口
- 主机端
edbg-mcp-install工具负责配置AI客户端 - 支持多种主流AI客户端,如Claude、Cursor、VS Code等
准备工作:安装与环境配置
在开始配置MCP模式之前,需要完成以下准备工作:
1. 下载eDBG及MCP安装工具
首先,克隆eDBG仓库到本地:
git clone https://gitcode.com/gh_mirrors/edb/eDBG2. 构建MCP安装工具
进入eDBG项目目录,使用专用的Makefile构建MCP安装工具:
cd eDBG make -f Makefile_installer current构建产物将位于bin/目录下,支持多种平台,包括darwin_amd64、linux_arm64、windows_amd64等。
3. 安装MCP工具到系统
运行以下命令将MCP安装工具安装到系统:
./edbg-mcp-install --installMCP模式配置步骤
1. 在Android设备上启动eDBG MCP服务
将编译好的eDBG推送到Android设备,并以MCP模式运行:
adb push eDBG /data/local/tmp adb shell su chmod +x /data/local/tmp/eDBG ./data/local/tmp/eDBG --mcp默认情况下,MCP服务监听端口19810。如果需要使用自定义端口,可以通过--mcp-port参数指定。
2. 设置端口转发
在主机端,使用adb命令将设备的MCP服务端口转发到本地:
adb forward tcp:19810 tcp:19810现在,本地可以通过http://127.0.0.1:19810/mcp访问设备上的eDBG MCP服务。
3. 配置AI客户端
eDBG提供了便捷的命令来配置各种AI客户端。首先,查看支持的客户端列表:
./edbg-mcp-install --list-clients当前支持的主流AI客户端包括:Claude、Cursor、VS Code、Codex、Gemini CLI、Qwen Coder等。
要安装配置所有支持的客户端,运行:
./edbg-mcp-install --install如果只需要配置特定客户端(例如Claude和Cursor),可以使用--clients参数:
./edbg-mcp-install --install --clients claude,cursor4. 自定义MCP服务地址(可选)
如果修改了MCP服务端口或使用了非默认的转发端口,需要在安装时指定自定义URL:
./edbg-mcp-install --install --url http://127.0.0.1:23456/mcp验证MCP模式连接
配置完成后,可以通过查看eDBG MCP服务状态来验证连接是否成功。MCP服务提供了状态查询功能,可以通过MCP协议的status工具获取当前状态。
eDBG MCP服务的状态信息包括:
- 服务器可达性
- 协议版本
- 目标选择状态
- 断点数量
- 进程状态等
下图展示了eDBG调试界面的示例,其中包含寄存器信息和反汇编代码:
MCP模式下的常用操作
1. 附加到目标应用
在MCP模式下,首先需要使用attach命令附加到目标应用:
attach(package, library)其中,package是目标应用的包名,library是要调试的库名。
2. 设置断点
使用break命令设置断点:
break(address)在MCP模式下,break命令始终按虚拟偏移处理,等价于vbreak。
3. 启动应用
设置断点后,使用run命令启动应用:
run()run命令会执行am start来启动目标应用。
4. 继续执行
当应用命中断点时,使用continue命令继续执行:
continue()continue命令会阻塞等待,直到下一个断点被命中。
5. 查看断点信息
使用info_break命令查看当前设置的断点:
info_break()6. 退出MCP会话
使用quit命令退出当前MCP会话,回到初始待命状态:
quit()quit命令只会清空当前MCP上下文,不会退出MCP服务器。
卸载MCP配置
如果需要卸载MCP配置,可以使用--uninstall参数:
./edbg-mcp-install --uninstall要卸载特定客户端的配置,可以结合--clients参数:
./edbg-mcp-install --uninstall --clients codex,cursorMCP模式注意事项
- MCP模式下会强制使用
-prefer uprobe -show-vertual,硬件断点和单步相关功能不可用。 - 启动时不会预设任何启动断点,需要手动设置。
- 初始待命状态下没有目标,必须先调用
attach(package, library)选中目标。 - 选中目标但尚未启动应用时,只允许
attach、break、info_break、info_file、断点管理和run命令。 - MCP暴露给AI的
break命令内部始终按虚拟偏移处理。
总结
通过本文的介绍,你应该已经掌握了eDBG MCP模式的配置方法和基本使用技巧。MCP模式为Android调试带来了全新的可能性,结合Claude、Cursor等AI工具,可以显著提升调试效率和代码质量。
如果你想深入了解eDBG MCP模式的更多细节,可以参考项目中的README_mcp.md文档。开始探索eDBG MCP模式,体验AI辅助调试的强大能力吧!
【免费下载链接】eDBGeBPF-based lightweight debugger for Android with MCP support项目地址: https://gitcode.com/gh_mirrors/edb/eDBG
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考