美文网首页
Xcode 控制台的一些简单用法

Xcode 控制台的一些简单用法

作者: 大树和小鱼 | 来源:发表于2021-10-20 10:58 被阅读0次

今天正好有点空闲,学习了一些控制台的调试方法,如下

LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xcode运行程序,实际走的都是LLDB。

1.LLDB控制台平时会输出一些log信息。如果我们想输入命令调试,必须让程序进入暂停状态。让程序进入暂停状态的方式主要有2种: 断点: 在代码中设置一个断点,当程序运行到断点位置的时候,会进入stop状态 直接暂停,控制台上方有一个暂停按钮,上图红框已标出,点击即可暂停程序 LLDB语法

在使用LLDB之前,我们来先看看LLDB的语法,了解语法可以帮助我们清晰的使用LLDB:

一眼看上去可能比较迷茫,给大家解释一下:

<command>(命令)和<subcommand>(子命令):LLDB调试命令的名称。命令和子命令按层级结构来排列:一个命令对象为跟随其的子命令对象创建一个上下文,子命令又为其子命令创建一个上下文,依此类推。 <action>:执行命令的操作 <options>:命令选项 <arguement>:命令的参数 []:表示命令是可选的,可以有也可以没有 举个例子,假设我们给main方法设置一个断点,我们使用下面的命令:

breakpoint set -n main 这个命令对应到上面的语法就是:

command: breakpoint 表示断点命令 action: set 表示设置断点 option: -n 表示根据方法name设置断点 arguement: mian 表示方法名为mian


上面都可以不用看


这是从其他地方复制的介绍,下面是我自己开发常用的东西 1.po 我们知道,OC里所有的对象都是用指针表示的,所以一般打印的时候,打印出来的是对象的指针,而不是对象本身。如果我们想打印对象。我们需要使用命令选项:-O。为了更方便的使用,LLDB为expression -O --定义了一个别名:po

我一般就用来在断点中输出变量的值和地址,比如

▿ Optional<String>
- some : "这是字符串"</pre>

2.expression

expression的简写就是e。可以用expression来声明新的变量,也可以改变已有变量的值。我们看到e声明的都是开头的变量。我们在使用时也需要加上符号

我一般用来修改一些变量,达到查看不同结果的效果比如

(lldb) e label.text = "修改后的字符串"
(lldb) e CATransaction.flush()
Simulator Screen Shot - iPhone 11 - 2021-10-20 at 11.19.46.png

2021年10月20日学到的技术,在合适的断点位置,在控制台中输入

(lldb) e view.backgroundColor = .red


(lldb) e CATransaction.flush()

然后点击继续往下走,放开断点,

Simulator Screen Shot - iPhone 11 - 2021-10-20 at 11.15.11.png

还可以在断点中,右键点击断点,点击edit breakPoint,然后点击 add actions ,在action下面输入

e label.text = "第二次修改后的字符串"

截屏2021-10-20 11.22.18.png

放开断点

Simulator Screen Shot - iPhone 11 - 2021-10-20 at 11.23.09.png

暂时就这些

相关文章

网友评论

      本文标题:Xcode 控制台的一些简单用法

      本文链接:https://www.haomeiwen.com/subject/jpktaltx.html