LLDB MCP集成
该项目为LLDB提供了一个模型上下文协议(MCP)集成,允许像Claude这样的AI助手通过标准化的界面与您的调试会话进行交互。
概述
集成由两个主要部分组成:
- 服务器.py -与Claude(或其他MCP客户端)通信的MCP服务器
- lldb_plugin.py -一个在LLDB内部运行并通过JSON-RPC公开调试器功能的插件
这种架构允许Claude通过自然语言直接与LLDB交互来帮助您调试代码。MCP服务器充当桥梁,将Claude的请求转换为LLDB命令,并以结构化格式返回结果。
安装
先决条件
- Python 3.10或更高版本
- 带有Python绑定的LLDB
fastmcpPython包(用于Claude Desktop集成)
设置
- 克隆此存储库:
git clone https://github.com/ant4g0nist/lldb-mcp.git
cd lldb-mcp- 安装所需的依赖项:
pip install "fastmcp>=1.2.0" httpx或
uv install "fastmcp>=1.2.0" httpx用法
方法1:使用Claude for Desktop
- 确保已安装Claude for Desktop并将其更新到最新版本。
- 通过编辑配置Claude for Desktop以使用LLDB MCP服务器:
- 路径: ~/Library/Application Support/Claude/claude_desktop_config.json
- 更新路径并添加LLDB MCP配置:
{
"mcpServers": {
"lldb": {
"command": "/path/to/your/.local/bin/uv",
"args": [
"--directory",
"/path/to/your/lldb-mcp/llmcp",
"run",
"lldb_mcp.py"
]
}
}
}- 重新启动桌面版的Claude。
- 在LLDB中启动调试会话,并使用以下命令启用MCP服务器:
(lldb) command script import lisa.py- 现在,您应该可以在Claude for Desktop中看到可用的LLDB工具。寻找锤子图标。
方法2:直接LLDB集成
如果您更喜欢直接从LLDB使用插件,而不需要Claude for Desktop:
- 将以下内容添加到您的
~/.lldbinit自动加载插件的文件:
command script import /path/to/lldb_plugin.py- 在LLDB会话中,启动MCP服务器:
(lldb) mcp start- 服务器将在以下时间可用http://localhost:13338任何MCP客户端都可以连接到。
可用的LLDB工具
MCP服务器为AI助手提供以下方法:
- create_target -从可执行路径创建调试目标
- 启动过程 -使用可选参数、环境变量和工作目录启动一个进程
- 附件_流程 -通过PID附加到正在运行的进程
- detach_from_process -脱离当前流程
- 连续过程 -继续执行流程
- 跨步 -跳过当前行或指令
- step_into -进入函数调用
- 退出 -退出当前功能
- 设断点 -在指定位置设置断点
- 删除断点 -按ID删除断点
- 列表_断点 -列出所有断点
- get_backtrace -获取当前线程或指定线程的回溯
- get_variables -获取当前帧中的变量
- get_disassembly -在指定地址或当前电脑周围进行拆卸
- read_memory -从特定地址读取内存
- 获取元数据 -获取当前调试会话的元数据
- run_lldb_命令 -执行任意LLDB命令
- 求值表达式 -在当前上下文中评估表达式
与Claude的互动示例
设置后,您可以使用自然语言通过Claude与LLDB进行交互。一些例子:
- “在以下位置调试此程序
/path/to/executable" - “在main设置断点”
- “使用参数运行程序
-v input.txt" - “显示当前帧中的变量”
- “进入下一个函数调用”
- “现在的回溯是什么?”
- “评估表达式
ptr->data[i]" - “显示当前指令的汇编代码”
故障排除
- 插件未加载:确保LLDB的Python环境可以访问必要的模块
- 服务器连接问题:检查端口13338是否已被其他应用程序使用
- Claude未检测到工具:验证中的配置是否正确
claude_desktop_config.json - 命令错误:插件将错误记录到LLDB控制台,请查看那里的详细信息
贡献
欢迎投稿!请随时提交pull请求或为bug和功能请求创建问题。
许可证
Apache许可证
全部
- \[\]更新说明书
- \[\]添加更多测试用例
