iOS 调试
2016-01-18 15:56
1166 查看
LLDB调试器
基本的LLDB命令:p:打印非对象的值,如果是对象,则打印对象的地址
po: 打印对象的描述
断点
Xcode 根据是否有断点,自动切换run模式和debug模式(普通断点略)
全局断点
有时程序出错不能定位到某一行,而是直接跑到main循环或AppDelegate里面,提示EXEC_BAD_ACCESS:等,可在左边debug导航面板中点➕,选择全局断点 Add Exception Breakpoint,这样只要遇到错误,debug程序就会自动定位到栈底信息,也就是最先出错的代码那一行。
条件断点
基础:右击断点,选择编辑断点,即可在条件一览输入程序暂停的条件。比如:for循环(i=0; i<3; i++)中在断点条件一栏输入i ==2;这样只有遍历到i==2时断点才会被触发。
action一栏中可选择输入条件,功能太强大
升级:在添加全局断点处,选择添加Symbolic断点,在 Symbol 一栏输入 [ClassName viewDidLoad] (Objective-C) 或 ClassName.viewDidLoad (Swift) 即可(unrecognised selector sent to instance 0xaxxxx 这种错误,这个instance可以这样快速定位)
打印
NSLog打印其实比print效率低很多。常不清楚NSLog(@“%?”,xxx) xxx这种类型该是什么什么类型输出时,可用 NSLog(@”%s”,NSStringFromCGPoint(<#CGPoint point#>))等
可用宏丰富打印内容
开启僵尸对象(Enable NSZombie Objects)
视图有关
编译并运行应用程序,选中模拟器,从 Debug菜单中选择Color Blended Layers选项相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- Linux 自检和 SystemTap
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- Python 七步捉虫法
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 路由器的配置与调试
- 对于技术人员的出现了运行时间错误,是否要进行调试的解决方法
- 讲解WordPress开发中一些常用的debug技巧
- JavaScript程序设计之JS调试
- 可以用来调试JavaScript错误的解决方案
- 如何调试异步加载页面里包含的js文件
- jQuery下的Ajax调试步骤
- 调试一段PHP程序时遇到的三个问题
- JavaScript高级程序设计 错误处理与调试学习笔记
- Javascript调试脚本的经验之谈第1/2页
- 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript