iOS调试奇巧淫技(二)之LLDB

简介: 一篇我们介绍了iOS调试奇巧淫技(一),主要是几种断点的功能和运行时间测试,这次我们进一步学习一个让你用了之后爱不释手的测试工具—-LLDB简单介绍LLDB是一个开源的内置于XCode的调试工具,可以安装C++或者Python插件。

一篇我们介绍了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、为苹果欢呼吧!

相关文章
|
Web App开发 Android开发 iOS开发
iOS 调试:通过 Safari/Chrome 调试 WebView
iOS 调试:通过 Safari/Chrome 调试 WebView
5743 0
iOS 调试:通过 Safari/Chrome 调试 WebView
|
3月前
|
语音技术 开发工具 图形学
Unity与IOS⭐一、百度语音IOS版Demo调试方法
Unity与IOS⭐一、百度语音IOS版Demo调试方法
|
iOS开发 开发者
iOS schem 和 Universal Link 在调试时的踩坑记录
iOS schem 和 Universal Link 在调试时的踩坑记录
iOS schem 和 Universal Link 在调试时的踩坑记录
|
iOS开发 Python
iOS小技能:lldb打印block参数签名
iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。
199 0
iOS小技能:lldb打印block参数签名
|
小程序 IDE API
iOS 端预览和调试小程序| 学习笔记
快速学习 iOS 端预览和调试小程序。
246 0
iOS 端预览和调试小程序| 学习笔记
|
小程序 IDE API
IOS 端预览和调试小程序|学习笔记
快速学习 IOS 端预览和调试小程序
161 0
IOS 端预览和调试小程序|学习笔记
|
iOS开发
LLDB调试iOS应用程序
如何利用LLDB调试iOS应用程序?本文为您揭晓。
445 1
LLDB调试iOS应用程序
|
NoSQL 编译器 C语言
iOS逆向-day8:LLDB 动态调试
iOS逆向-day8:LLDB 动态调试
749 0
iOS逆向-day8:LLDB 动态调试
|
Web App开发 iOS开发 开发者
mac 下用 safari 调试 iOS 端页面
第一步:打开iphone手机的开发者模式,流程是:【设置】->【Safari】->【高级】->开启【Web检查器】
645 0
mac 下用 safari 调试 iOS 端页面
|
Unix 开发工具 iOS开发
iOS-底层原理 03:objc4-781 源码编译 & 调试
本文主要是通过将objc4-781的源码编译成功,然后在源码中进行调试,便于跟踪方法的底层实现流程
175 0
iOS-底层原理 03:objc4-781 源码编译 & 调试