iOS - LLDB调试常用命令

使用lldb调试的优点,提高开发效率,减少代码污染

想要使用命令的话 先创建一个NSlog并打断点到NSlog

7001722664455_.pic.jpg

1.p命令

可以查看变量的类型 和 值 以及对象的类型和内存地址,但没有显示对象的实际内容或属性

2.po命令

可以打印变量的值 以及对象的description方法内的信息
这里的输出 <BJJDModel: 0x3030e6d40> 是调用了对象的 -description 方法的结果。它展示了对象的类型和内存地址,也可能会包含对象的其他信息(取决于 -description 方法的实现)。

6911722655167_.pic.jpg
6921722655182_.pic.jpg

3.expression命令

简写 expr
允许你执行表达式并查看结果。这种命令非常强大,因为它不仅能计算简单的表达式,还可以进行复杂的计算、调用方法以及修改变量的值

6941722655599_.pic.jpg

4.run 命令

在 LLDB 调试器中,run 命令用于启动当前调试会话中的程序。这个命令通常在你设定了断点并准备好调试时使用。它会开始程序的执行,并在遇到断点时暂停程序,让你可以进行检查和调试

6971722656357_.pic.jpg

5.image lookup -t 命令

查看类文件的详细信息,例如继承关系 属性列表 属性读写权限等


6951722655959_.pic.jpg

6.continue

简写c
在 LLDB 中,continue 命令用于恢复程序的执行。它使调试器停止暂停程序的状态,并继续从当前断点或程序暂停点处运行,直到遇到下一个断点或程序结束


6961722656322_.pic.jpg

7.next 命令

简写n
next 命令用于逐行执行代码,但与 step 命令不同,它不会进入到函数内部。如果当前行包含一个函数调用,next 会执行整个函数调用而不会进入到函数内部的细节

6981722658109_.pic.jpg

8.setp 命令

简写s
step 命令会让程序逐行执行,并在每个函数调用的入口处停下。也就是说,step 会进入函数调用并在函数内部逐步执行代码

6991722658275_.pic.jpg

9.finish 命令

finish 命令用于完成当前函数的执行,并让程序停在函数返回后的下一行代码。这与 step 和 next 命令的功能有所不同,因为 finish 命令会跳过当前函数的剩余代码,直接执行到函数返回的位置。

WeChataa92096b8c861ff08d0d597ff93940e75.jpg

查看堆栈信息暂未使用,添加断点删除断点之类的lldb命令感觉可以不用了,在控制台鼠标直接操作就行了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容