LLDB-MCP
在这里的 acton 中查看它,自动调试缓冲区溢出: https://x.com/full\ _duplex/status/1904770477698277847
概述
LLDB-MCP 是一款将 LLDB 调试器与 Claude 的模型上下文协议 (MCP) 集成的工具。这种集成允许 Claude 直接启动、控制 LLDB 调试会话并与之交互,从而实现 AI 辅助调试工作流程。
该工具提供了一套用于使用 LLDB 的全面命令,包括:
启动和管理 LLDB 会话
加载程序进行调试
设置断点和观察点
控制程序执行
检查内存、寄存器和变量
分析堆栈跟踪和程序状态
特征
创建和管理多个 LLDB 调试会话
加载可执行文件并附加到正在运行的进程
加载核心转储文件进行事后分析
执行任意 LLDB 命令
对程序执行的细粒度控制
内存检查与拆解
线程和堆栈框架检查
安装
克隆存储库:
git clone https://github.com/stass/lldb-mcp.git cd lldb-mcp安装依赖项:
pip install mcp配置 Claude 使用 LLDB-MCP 服务器:
打开Claude桌面应用程序配置
将以下内容添加到您的 MCP 配置中:GXP3
用法
一旦安装并配置完毕,您就可以使用自然语言通过 Claude 与 LLDB 进行交互。
基本工作流程
启动新的 LLDB 会话
加载程序
设置断点
运行程序
检查变量和内存
控制执行(继续、步骤、下一步等)
完成后终止会话
示例命令
以下是一些通过 Claude 与 LLDB-MCP 交互的示例:
“启动一个新的 LLDB 会话”
“加载程序‘/path/to/executable’”
“在主窗口设置断点”
“运行程序”
“显示回溯”
“打印变量‘count’的值”
“跨过下一行”
“检查地址 0x1000 处的内存”
“显示寄存器值”
“继续执行”
“终止进程”
“终止 LLDB 会话”
支持的命令
会话管理
lldb_start
:启动新的 LLDB 会话lldb_terminate
:终止 LLDB 会话lldb_list_sessions
:列出所有活动的 LLDB 会话
程序加载
lldb_load
:将程序加载到 LLDBlldb_attach
:附加到正在运行的进程lldb_load_core
:加载核心转储文件
执行控制
lldb_run
:运行已加载的程序lldb_continue
:继续程序执行lldb_step
:跳至下一行或下一条指令lldb_next
:跳过函数调用lldb_finish
:执行直到当前函数返回lldb_kill
:终止正在运行的进程
断点和观察点
lldb_set_breakpoint
:设置断点lldb_breakpoint_list
:列出所有断点lldb_breakpoint_delete
:删除断点lldb_watchpoint
:在变量或内存地址上设置观察点
检查
lldb_backtrace
:显示调用堆栈lldb_print
:打印表达式的值lldb_examine
:检查内存lldb_info_registers
:显示寄存器lldb_frame_info
:获取有关堆栈帧的详细信息lldb_disassemble
:反汇编代码lldb_process_info
:获取有关当前进程的信息
线程管理
lldb_thread_list
:列出当前进程中的所有线程lldb_thread_select
:选择特定线程
各种各样的
lldb_command
:执行任意 LLDB 命令lldb_expression
:在当前帧中评估表达式lldb_help
:获取 LLDB 命令的帮助
示例程序
example/overflow.c
包含一个示例 C 程序,该程序在调用某些参数时会导致缓冲区溢出。使用cc overflow.c
编译该程序,并让 Claude 使用生成的程序来调试问题:
调试技巧
当您需要执行没有专用功能的 LLDB 命令时,请使用
lldb_command
启动服务器时使用
--debug
标志启用调试模式以获取详细日志记录服务器关闭时会话会自动清理
每个会话都有一个唯一的 ID - 确保在执行命令时使用正确的 ID
要求
Python 3.7+
系统上安装的LLDB
支持 MCP 的 Claude 桌面应用程序
故障排除
如果 LLDB 命令超时,请检查 LLDB 是否正确安装
启动新会话时验证 LLDB 的路径
附加到进程时检查权限问题
如果命令未正确执行,请查看调试日志
执照
BSD 2 条款
Related MCP Servers
- -securityAlicense-qualityAn MCP server that provides tools to load and fetch documentation from any llms.txt source, giving users full control over context retrieval for LLMs in IDE agents and applications.Last updated -766MIT License
- -securityAlicense-qualityA GDB/MI protocol server based on the MCP protocol, providing remote application debugging capabilities.Last updated -50MIT License
- AsecurityAlicenseAqualityAn MCP server that connects to your React Native application debuggerLast updated -213326MIT License
- AsecurityAlicenseAqualityA specialized MCP server that helps analyze and debug Model Context Protocol logs by providing Claude with direct access to log files across multiple platforms.Last updated -113MIT License