iOS调试奇巧淫技之LLDB
Posted 欣麒骥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS调试奇巧淫技之LLDB相关的知识,希望对你有一定的参考价值。
一篇我们介绍了iOS调试奇巧淫技(一),主要是几种断点的功能和运行时间测试,这次我们进一步学习一个让你用了之后爱不释手的测试工具—-LLDB
简单介绍
LLDB是一个开源的内置于XCode的调试工具,可以安装C++或者Python插件。与LLDB相对应的是gdb,主要存在于基于UNIX平台的程序调试工具。
使用作用
在开发中我们经常要调试代码,用到最多的就是print和NSLog输出,这样的做法在某些程度下并不太高效,LLDB的引进在某些时候替代打印函数,提高测试效率。
用法
1.help
help命令的作用不言而喻,当我们遇到某个命令不知道怎么用的时候可以通过help命令调用系统命令介绍文档,来了解更多细节
比如:
help print
非常详细的打印出help的具体参数用法
2.print
打印命令的用法也是不言而喻的,可以用来打印某个值
或者可以简写为 p (变量名称)
3.expression
当我们想改变一个变量的值的时候用到了expression命令 简化为 expr 、e
当然其实你也可以用print命令进行打印
通过上图我们可以清晰的比较到 print和expression的区别是:print并没有改变实际参数的值,模拟性的使变量称为你所意愿的值,而expression不同,是实实在在的改变了变量的值。
4.process continue 命令
简称 continue 或者 c。
作用于上面第一个按钮一样,取消程序的暂停,允许程序继续执行下去
5.thread step-over 命令
简称 next,或者n
作用以黑盒的方式执行一行代码,如果遇到的是一个函数,那么会执行这个函数,而不是只跳进函数里面的一行代码
6.thread step in命令
简称 step 或者s
当我们想跳进一个函数里面逐步调试程序的时候可以用这个命令。如果当前行不是函数则,这个命令和5.thread step-over 命令作用一致。
7.step out命令
当我们在一个函数中,想跳出这个函数,则可以运用这个命令
8.frame info命令
运行这个命令将会告诉你当前行数和源码文件,以及其他一些信息
9. Thread Return命令
我们有时候调试不想执行某个函数的代码,可以借助这个命令在函数的开头直接给这个函数的返回值,这样函数以后的代码就没有机会,执行直接给了个人为的返回值 。这个命令太强大了,用时要慎重细心,伪装者,绝对的伪装者。
10.breakpoint list
简称 br li
获取项目中断点的具体位置和信息并打印
11.breakpoint enable、 breakpoint disable
对某个具体断点开启或关闭
12 breakpoint set
手动创建断点
总结
以上就是LLDB命令最常用的命令了,是不是欢呼LLDB如此的强大,完全在很多时候可以替代低效率的NSLog函数方法,当然LLDB还有很多命令,最后附上LLDB命令表查询手册,让我们为这么便捷的开发,为ios、为苹果欢呼吧!
以上是关于iOS调试奇巧淫技之LLDB的主要内容,如果未能解决你的问题,请参考以下文章