基本能力
产品定位
LLDB-MCP是一个AI辅助的调试工具,通过集成LLDB调试器和Claude的MCP协议,提供智能化的调试支持。
核心功能
- 创建和管理多个LLDB调试会话
- 加载可执行文件并附加到运行中的进程
- 加载核心转储文件进行事后分析
- 执行任意LLDB命令
- 对程序执行进行细粒度控制
- 内存检查和反汇编
- 线程和堆栈帧检查
适用场景
- 开发者在编写和调试代码时
- 需要分析程序崩溃或异常行为时
- 进行内存泄漏或缓冲区溢出等问题的调试时
- 需要AI辅助理解复杂调试信息时
工具列表
lldb_start
: 启动新的LLDB会话lldb_terminate
: 终止LLDB会话lldb_list_sessions
: 列出所有活动的LLDB会话lldb_load
: 将程序加载到LLDB中lldb_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命令的帮助
常见问题解答
- 如果LLDB命令超时,检查LLDB是否正确安装
- 启动新会话时验证LLDB的路径
- 附加到进程时检查权限问题
- 如果命令未正确执行,查看调试日志
使用教程
使用依赖
- 确保系统已安装Python 3.7+和LLDB
- 确保已安装Claude桌面应用并支持MCP
安装教程
- 克隆仓库:
git clone https://github.com/stass/lldb-mcp.git
cd lldb-mcp - 安装依赖:
pip install mcp
- 配置Claude使用LLDB-MCP服务器:
- 打开Claude桌面应用配置
- 在MCP配置中添加:
json
"mcpServers": {
"lldb-mcp": {
"command": "python3",
"args": ["/path/to/lldb-mcp/lldb_mcp.py"],
"disabled": false
}
}
调试方式
- 启动新的LLDB会话
- 加载程序
- 设置断点
- 运行程序
- 检查变量和内存
- 控制执行(继续、单步、步过等)
- 完成后终止会话
示例调试命令:
- "Start a new LLDB session"
- "Load the program '/path/to/executable'"
- "Set a breakpoint at main"
- "Run the program"
- "Show backtrace"
- "Print the value of variable 'count'"
- "Step over the next line"
- "Examine memory at address 0x1000"
- "Show register values"
- "Continue execution"
- "Kill the process"
- "Terminate the LLDB session"