当前位置: 首页 > 工具软件 > LLDB > 使用案例 >

lldb-常见命令

鱼志学
2023-12-01

LLDB 的常见指令

1.po是打印对象的description。

2.p命令修改变量。

3.image lookup -a 对象地址 :用于寻找栈地址对应的代码位置

4.bt命令可以查看函数调用堆栈,然后用frame select 命令即可查看对应函数详细;同时可以使用\color{red}{frame} \color{red}{variable}很方便的查方法的调用者及方法名称

5.breakpoint命令:
5.1、b命令给函数下断点

5.2、breakpoint list 查看断点数量,

5.3、breakpoint delete 序号 删除断点

LLDB高级用法

1、 menthods命令可以打印当前对象的属性和方法。

2、pviews命令可以打印当前视图的层级结构。

3、vs命令方便动态查看控件的层级关系:
3.1、当我们执行\color{red}{vs}命令后会进入动态调试阶段,会出现以下五个命令,每个命令我做了详细注释如下:
(lldb) vs 0x7fe73550a090
Use the following and (q) to quit.
(w) move to superview //移动到父视图
(s) move to first subview //移动到第一个子视图
(a) move to previous sibling //移动上一个兄弟视图
(d) move to next sibling //移动下一个兄弟视图
§ print the hierarchy //打印视图层级结构

4、pactions命令直接打印对象调用者及方法。

5、border 或 unborder 命令给控件增加和去除边框:
-c即是color,-w即设置边框的宽度。通过这个命令我们可以很方便的查看边框的边缘的问题,而不需要每次重启运行,比如:
border 0x7d36tg5ghf -c red -w 8
unborder 0x7d36tg5ghf

6、pclass命令打印对象的继承关系。

7、presponder命令打印响应链。 presponder 0x7d36tg5ghf。

8、caflush这个命令会重新渲染,即可以重新绘制界面, 相当于执行了 [CATransaction flush] 方法。

9、search搜索已经存在于栈中的控件及其子控件。

10、lookup搜索,可执行正则表达式。

11、pbundlepath命令打印app路径及\color{red}{pdocspath}打印文档路径。

LLDB插件配置

1、 chisel是facebook开源的一款LLDB插件,里面封装了很多好用的命令,当然这些命令都是基于苹果提供的api。chisel下载
2、这个插件的名称也叫LLDB,LLDB下载,先clone文件,我这里放置在opt文件夹下,你可以选择自己的文件目录放置,然后依次找到dslldb文件,在~/.initlldb文件中配置路径。
3、接下来依然在lldb窗口执行 command source ~/.lldbinit命令。到此LLDB插件的配置环境完成。

 类似资料: