SuperAPI AI 工具集

axiom-lldb-ref

编程与开发

查看项目

更新于 10-15 20:11

技能介绍

用途:这是 Xcode 中 LLDB 调试器的完整命令参考,按任务分组,便于快速查找所需命令。需要调试工作流与决策树时,可参考同系列的 axiom-lldb 技能。

主要能力与用法: 变量查看。v / frame variable 直接读内存、无需编译,适合查看 Swift 值,支持 -d、-T、-R、-D、-P、-F 等标志,但不能求值表达式、计算属性或函数调用。p / expression 编译并执行表达式并返回格式化结果,结果存入 $R0、$R1 等编号变量。po 调用 debugDescription,适合自定义 Debug 描述的类型、NSError、NSNotification 与对象集合。register read 可读寄存器。

断点。breakpoint set 支持按文件行(-f/-l)、函数名(-n)、ObjC selector(-S)、正则(-r)、内存地址(-a)设置,支持条件(-c)、忽略次数(-i)、一次性(-o)。可用 breakpoint command add 添加日志点命令。支持 Swift/ObjC 异常断点(-E)、符号断点,以及 watchpoint 监视变量内存变化(硬件监视点约限 4 个)。

线程与回溯。bt、bt all、thread list、thread select、frame select、up/down 等用于切换与查看调用栈;thread return 可强制提前返回,但会跳过清理代码,需谨慎。

表达式求值。支持 Swift 与 ObjC 表达式(expr -l objc -- ...),可用于 UI 调试(如 recursiveDescription)与 SwiftUI 的 Self._printChanges()。

进程控制。continue、step-over/in/out、step-inst、process launch/attach/detach、kill 等。

内存与镜像。memory read/find、image lookup/list,常用于定位崩溃地址所属框架。

自定义。~/.lldbinit 可定义别名(如 flush、views、constraints)、类型摘要与设置;Xcode 方案可在 Run → Options 中指定每项目 LLDB Init File。

限制与排错:资料同时给出常见问题处理,如表达式解析失败可改用 v 或 expr -l objc、变量不可用通常因被优化掉(切换 Debug 或 -Onone)、语言模式错误可 settings set target.language swift、断点不命中需检查行号、启用状态与构建配置等。价格、平台与更详细信息暂未提供。