Xcode使用断点调试
来源:互联网 发布:笨办法学python pdf 编辑:程序博客网 时间:2024/04/30 11:52
设置断点:(在想要设置断点的代码左端右键点击一下即可)
编辑断点:右键点击断点,选择EditBreakPoint...弹出如下弹框:
其中,
Condition: 返回一个布尔值,只有在布尔值为真的情况下断点才会触发
Ignore:忽略前n次断点,直到第n+1次遇到断点才触发
Action:断点触发时,Xcode执行的操作,共有六种类型,如下图所示:
- AppleScript:用于执行脚本,如display dialog “SwiftGG”弹出对话框。
- Capture GPU Frame:捕获在断点处 GPU 当前绘制的帧图,用于 OpenGL ES应用的调试。
- Debugger Command:相当于在控制台中输入的 lldb 调试命令。
- Log Message:将自定义格式、内容的信息输出到控制台,常用的占位符有:%H(断点第几次触发),%B(断点所在的方法的名字)和@expr@(输出expr的值)。
- Shell Command:接收命令文件以及相应的参数列表。 Xcode会异步执行 Shell Command。勾选 “Wait until done”表示等待 Shell 命令执行结束后再执行调试工作。
- Sound:触发断点的同时播放声音
Automatically continue after evaluating actions:勾选这个选项后,断点不会中断程序运行。
异常断点(Exception Breakpoint)
异常断点是代码出现问题导致编译器抛出异常时触发的断点。它在断点导航器中设置。点击+号,选择Exception Breakpoint选项。如下图所示
点击添加后会出现下面的小框
Exception:选项可以让你选择响应Objective-C对象抛出的异常,也可以选择响应C++对象抛出的异常。
Break:则是选择断点所接收的异常,是接收“Throw”语句抛出的异常还是Catch语句的。
由于有一些异常的出现,是在不满足某些特定条件下而导致的,比如说在复杂循环中数组越界,这个时候往往不容易根据异常信息确定错误的出处,这个时候设置异常断点便能发挥作用。
符号断点(Symbolic Breakpoint)
在断点导航器界面,点击+号,选择Add Symbolic Breakpoint选项
然后会弹出下面所示的对话框
Symbol:用来设置当前断点作用域所能识别的方法,这里面既可以是自定义的方法,也可以是系统的API方法。(注意必须表明是类方法还是成员方法)
例如:在 Symbol 一栏输入 viewDidLoad。
这样一来,在程序中所有的 viewDidLoad 方法被调用时都会触发断点。
当然,我们也可以仅仅为特定的某个类的方法添加断点。在 Symbol 一栏输入 [ClassName viewDidLoad] (Objective-C) 或 ClassName.viewDidLoad (Swift) 即可。
监控断点
我们调试程序的大部分时候都是为了监控某个变量的变化,在代码中变量出现的地方添加断点不仅累而且还可能漏掉,事后还得一个一个删掉,实在很累。
我们可以通过为变量添加监控断点来简单地做到这一点。找到变量第一次出现的地方,添加一个普通断点,进入 debug 模式后在 Variables View 中右键变量,选择 Watch 变量名。这样,每一次该变量被改变都会触发断点告知我们。
以上内容来自:http://qingbo.info/2016/08/17/xcode-debugging/
- Xcode使用断点调试
- Xcode中使用数据(硬件)断点调试
- xcode 断点调试技巧
- xcode 调试断点
- xcode 调试断点
- xcode 断点调试
- xcode 断点调试
- Xcode 断点调试
- Xcode断点调试
- Xcode断点调试
- Xcode断点调试技巧
- Xcode之断点调试
- iOS断点调试(xcode )
- 漫步IOS--Xcode断点调试
- xcode调试(全局断点)
- Xcode之断点调试详解
- Xcode 断点使用心得
- Xcode 断点使用
- Android Studio获取SHA1证书方法
- java 获取真实ip
- C++11实现简单生产者消费者模式
- 微信小程序开发总结
- IOS播放GIF图片
- Xcode使用断点调试
- Jersey(servlet)的线程安全
- 根据data恢复数据库数据
- shell连接远程mongodb数据库
- Bzoj 3875 骑士游戏
- java中equals与== 有何区别?
- 三、大话设计模式 之 装饰模式
- 加速Android Studio/Gradle构建
- LeetCode笔记:38. Count and Say