博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS调试奇巧淫技(二)之LLDB
阅读量:6276 次
发布时间:2019-06-22

本文共 1256 字,大约阅读时间需要 4 分钟。

一篇我们介绍了,主要是几种断点的功能和运行时间测试,这次我们进一步学习一个让你用了之后爱不释手的测试工具—-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还有很多命令,最后附上,让我们为这么便捷的开发,为iOS、为苹果欢呼吧!

你可能感兴趣的文章
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
C++零基础教程(一)——何谓编程
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
Linux下的lds链接脚本简介(二)
查看>>
入门到进阶React
查看>>
C++每日练笔之日期类(基类)
查看>>
SVN 命令笔记
查看>>
修复Postfix 的Relay access denied问题
查看>>