LLDB是高性能的程序调试器,其默认集成到Xcode中,支持对C语音,OC与C++程序的调试。当Xcode触发断点是自动进入LLDB调试环境。开发者可以在控制台进行LLDB指令的执行,进行调试。
- expression命令
expression可以执行各种表达式,如上图可查看出变量i的值为10。expression val = value可重新设置变量值。(简写expr)
- breakpoinnt 断点指令(简写br)
breakpoinnt set --line number :在指定行设置断点,number表示需要在第几行设置断点。
breakpoint set --name xxx:根据函数名称设置断点。
breakpoint list:显示已设置的所有断点。
breakpoint delete 1:删除编号为1的断点,编号可通过br list查看。
br enable/disable 1:启用或禁用断点。
continue:简写c,跳到下个断点。
step:简写s,单步。
next:简写n,单步和step的区别是,遇到函数step或跳入函数而next会跳过函数。
r:重新启动APP
- thread 线程相关
thread list:打印线程列表。
thread select 10:切换到指定线程。
thread info:当前线程详情。
thread backtrace:简写bt,获取当前函数调用堆栈。
thread return value:跳出并返回值。
- frame 堆栈帧
frame info:当前堆栈帧的信息。
frame select 1:切换到指定堆栈帧。
- image
image lookup -address 0x0000000105135ae0:根据地址查找具体位置。
image lookup -name xxxx:查找方法来源
- 其他常用指令
p:输出值和值类型和内存地址。
po:输出值或对象的地址
以上仅为LLDB常用指令。