加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

iOS常用调试方法:断点调试

发布时间:2019-04-19 20:02:40 所属栏目:教程 来源:QiShare
导读:奇技指南 在iOS项目开发过程中,常用到静态分析(Analyze)、断点(BreakPoint)和控制台(Console)进行代码调试。本篇文章介绍Xcode常用调试方法之断点调试。 一、简介 Xcode的断点功能是iOS开发者的常用功能。在代码编辑区内的左边栏上点击一下即可创建一个断
副标题[/!--empirenews.page--]

奇技指南

在iOS项目开发过程中,常用到静态分析(Analyze)、断点(BreakPoint)和控制台(Console)进行代码调试。本篇文章介绍Xcode常用调试方法之”断点调试“。

iOS常用调试方法:断点调试

一、简介

Xcode的断点功能是iOS开发者的常用功能。在代码编辑区内的左边栏上点击一下即可创建一个断点,当程序每次运行到断点,就会暂停下来,方便开发者调试。如下图:

同时,开发者可以使用上图中用数字标记的工具辅助断点调试。各工具的作用如下:

  • 启用/禁用断点(点击后变灰色,所有断点失效;再点击变蓝色,所有断点生效)
  • 继续执行程序(点击后跳过本次断点,继续执行程序)
  • 执行下一步(点击后执行第37行代码)
  • 进入方法(点击后进入-afunction方法)
  • 跳出方法(在-afunction方法内部点击后回到第36行代码)

除了断点的基础用法,开发者还可以使用断点的进阶功能:编辑断点、异常断点和符号断点。

二、编辑断点

双击断点或者右键点击断点,选择Edit Breakpoint即可打开断点编辑页面。页面中包含Condition、Ignore、Action和Options四个部分,接下来逐一介绍。

1、Condition

Condition为条件。开发者可以在Condition输入框中设置触发断点的条件。比如,在一个for循环中,可以设置在满足i==5时才触发断点。如下图:

2、Ignore

Ignore为忽略次数。开发者可以在Igore输入框中设置忽略此断点的次数。比如,设置Ignore为5,则在第6次执行到断点行时才会触发断点。

3、Action

Action为触发动作。Action可以添加多条,在触发断点后,会紧接着执行设定的Actions。Action有6种执行类型,其中较常用的有Debugger Command和Log message,如下图:

1) Debugger Command

Debugger Command允许开发者设定一些LLDB命令,从而实现打印对象、修改变量等功能。如下图:

2) Log Message

Log Message为提供了标准的文本输出格式。开发者可以按照格式设定在触发断点后输出的内容。其中,@exp@表示输出exp的内容,%B表示输出断点的名称,%H表示输出断点执行的次数。如下图:

4、Options

Options控制在执行断点对应的Actions后是否自动继续执行程序。勾选后Options后,断点被触发后不进入Debug界面。

三、异常断点(全局断点)

开发者可以在Xcode中很方便地创建一个异常断点。如下图:

当创建异常断点后,会显示一个名为All Exceptions的断点,所以也常称作全局断点。当程序抛出异常时会触发异常断点,并且大部分常见错误会被断点定位到对应的代码行,很方便调试。比如:设置全局断点后,我们写一段数组越界的代码,当运行到此代码时,就会断点到越界的那一行。如下图:

而当去掉全局断点后再次运行程序触发越界代码后会崩溃断点到main.m中,而不会定位到越界那一行。如下图:

四、符号断点

符号断点(Symbolic Breakpoint)是全局断点,可以针对某一个方法(函数)设置断点。开发者可以很方便地创建一个符号断点,如下图:

与普通断点相比,符号断点的编辑界面多出来Symbol和Module两个输入框。

1、Symbol

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读