开发中常用的LLDB调试命令

启动                      run
调试可执行文件 lldb /Projects/Sketch/build/Debug/Sketch.app
调试运行时带参数的可执行文件 lldb -- DebugDemo.run [参数列表]
调试某个正在运行中的进程
1.启动lldb lldb
2.附到某个进程 process attach --pid 9939 或者 process attach --name Safari
查看代码 list 或者 l
看其他文件的代码 list 文件名 然后在用l来查看
看某个函数的代码 list main

breakpoint [断点管理]
breakpoint set --file foo.c --line 12
b main.m:127 推荐这种写法
breakpoint set --selector alignLeftEdges:
b functionName:
b +[NSSet setWithObject:]


breakpoint list
breakpoint enable <breakpointID>
breakpoint disable <breakpointID>
breakpoint delete <breakpointID>

调试
c[继续运行] n[Step over] s[Step into] finish[Step out]

变量输出
p 变量 [打印出某个变量的详细信息]
默认的格式 p 16
十六进制: p/x 16
二进制: p/t 16
po 变量 [打印出某个变量的简要信息]

p $0 = 23 [修改变量值]

[代码帧调试]
bt 当前栈信息 配合up down 指令使用
frame select 0 [查看某个栈代码]
frame variable [查看方法的调用者及方法名称]

[地址映射到代码]
image lookup -a 栈地址 寻找栈地址对应的代码位置

安装 LLDB插件 [chisel 及 LLDB]
![chisel](https://github.com/facebook/chisel)
![LLDB](https://github.com/DerekSelander/LLDB)

查看某个类或者实例的方法
methods IDLZipTool

taplog 点击控件,会打印控件的地址,大小及透明度等信息 后面跟的控件id可以用于后续操作
flicker 控件会闪烁
hide 0x7f7edd64b280 隐藏控件
show 0x7f7edd64b280 显示控件
border 0x7f7edd64b280 -c red -w 10 给控件加边框
pclass encryptStr 打印继承关系
presponder 0x7faa9455d2f0 打印响应链

给某个控件设置背景
(lldb) p 0x7faa9455d2f0
(long) $44 = 140370609820400
(lldb) p (void)[$44 setBackgroundColor:[UIColor redColor]]
(lldb) caflush
pviews 打印继承树

较好的文章推荐

[1]. LLDB调试利器及高级用法
[2]. 使用LLDB调试程序
[3]. Chisel-LLDB命令插件,让调试更Easy
[4]. GDB to LLDB command map
[5]. The LLDB Debugger
[6]. Debug on the iOS Simulator with LLDB
[7]. 跳舞吧!与LLDB共舞华尔兹

Contents
  1. 1. 开发中常用的LLDB调试命令
  2. 2. 较好的文章推荐