SuperAPI AI 工具集

cli-anything-lldb

编程与开发

查看项目

更新于 10-15 22:13

技能介绍

用途:通过命令行对 LLDB 进行有状态、结构化的调试,输出 JSON,便于自动化与 AI 客户端调用。

主要能力:从可执行文件创建调试目标;启动进程或按 pid/名称附加;管理断点(设置、列出、删除、启用、禁用);查看线程、栈帧、局部变量与回溯;在当前帧求值表达式;读取与查找进程内存;加载 core dump;提供持久会话的交互式 REPL;提供标准 stdio 的 Debug Adapter Protocol 服务。

用法:非 REPL 调用默认共享持久会话守护进程,可用 --session-file PATH 或 CLI_ANYTHING_LLDB_SESSION_FILE 固定会话;自动化流程建议加 --json。常用命令如 cli-anything-lldb --json target create --exe /path/to/exe、process launch、breakpoint set --function main、thread backtrace --limit 20、frame locals、expr "myVar"、memory read --address 0x1000 --size 64,结束时用 session close 清理。DAP 入口为 cli-anything-lldb-dap 或 cli-anything-lldb dap,支持 initialize、launch、attach、setBreakpoints、threads、stackTrace、variables、evaluate、continue、pause、stepIn、readMemory、disassemble、disconnect 等请求。

限制:DAP 服务独占 stdout,不能在其周围向 stdout 打印日志;未解析的 CLI 断点默认失败,需 --allow-pending 才允许挂起;DAP 未解析断点按协议返回 verified: false;setVariable 仅在停止时可用,优化掉或只读的值可能被拒绝;memory find 每次调用分块扫描上限 1 MiB;须先 target create 再执行 process 或 core 命令;DAP 进程不热加载新代码或 profile,修改后需重启并重新附加或启动;错误以 {"error": "...", "type": "..."} 结构化返回。其余收费、平台等信息暂未提供。