Swift 代码调试-善用XCode工具(UI调试,五种断点,预览UIImage
原创Blog,转载请注明出处
前言:这个Swift调试系列分为四篇
2015.12月和2016.1月主要更新iOS开发的设计模式和Instruments优化技巧,穿插着写一些别的。 断点断点是调试中经常用到的,让代码停止在错误出现的地方,看看变量以及上下文实际的变化,往往就能够找到问题所在。 点击左侧部分就可以添加断点,再单机可以禁用单个断点 导航栏中的断点列表 可以右键来禁用,编辑,删除断点。 断点上下文
我们着重来看下3,4区域,新手往往只会看变量,其实这里有很多可以利用的信息 条件断点举个例子,我想停在第888次执行?总不能一次次的continue吧! for var index = 0;index < 1000;index++ {
print(index)
}
右键断点,选择edit breakpoint 然后填写条件
可以看到运行的截图 准备工作接下来讲的几种断点添加方式都是,在断点导航底部,如图添加 Swift Error 断点这个在Swift开发中很常用 添加一个Swift Error断点 定义一个方法,来抛出Swift Error func test() throws{
throw DemoError.Type1
}
enum DemoError: ErrorType {
case Type1
case TYpe2
}
然后,这样调用 do{
try test()
}catch{
}
会发现,在Swift Error发生的时候,断点触发 当然,Swift Error断点也支持编辑来捕获指定类型的Error 为了方便读者阅读,图片我没加水印,转发者请注明转自 Leo的CSDN博客(http://blog.csdn.net/hello_hwc?viewmode=list) Exception断点在抛出异常的时候触发 self.performSelector("abcdefg")
在添加了All Exception后,会停在这里 Symbol断点停在不方便直接加断点的地方 -[NSObject setValue:forUndefinedKey:]
如图 self.setValue("Dta",forUndefinedKey: "dagd")
会发现断点触发 Test Failure断点这个就是使用XCTest框架来测试的时候,当Test Case的Assert失败的时候触发的断点。这里不截图了 变量图片预览
红圈中左边是预览,右边是打印Description UI调试如何打开UI调试 图中的红圈部分,点击后,整个调试区域如图
查看AutoLayout约束 然后选择Show Constraints, 注意,第一张图右上角的地址 0x7f8169e7daa0 这里先记着,这个地址对LLDB的调试很有用,下一篇我会讲到 最后欢迎大家关注Leo的CSDN博客 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |