转 iOS 调试技巧
2024-08-27 15:16:01
调度技巧一:
程序在崩溃的时候,xcode经常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人很是头疼,又怀念起了vs, 其实xcode只要装简单设置一下,就能准确给出堆栈信息了, 打开xcode左边的Breakpoint Navigator ,点击下面的+号添加一个Exception Breakpoint,可以选择 All, 然后再运行试试,Crash后,就会在在抛出异常的时候停下来了,吼吼。
调度技巧二:
另一种Crash,EXC_BAD_ACCESS ,这个比较头疼,因为Crash的时候,可能是比较早之前的某个变量释放了,现在访问时出问题。Console里也没显示什么日志。开Scheme选项选择Edit Scheme然后按图勾上Enable Zombie Objects 和Malloc Stack那两项,记住一般只有在定位EXC_BAD_ACCESS时候才勾选,别有事没事都勾上。
这样重新跑一下,如果是到Exception Breakpoint处停止了,可以在Console中输入:c(continue)按回车继续跑,直到Crash。看下Console是不是有跟SIGABRT类似的错误信息日志了,后面定位什么的你懂的。
如果还没有日志,在Console中输入 po $eax $eax标志出错的地方,适用模拟器,真机用$r0(话说EXC_BAD_ACCESS这种错误模拟器定位就行),还可以输入比如:po [$eax name] po [$eax reason]等指令查看错误其他信息(注意方括号后没分号的)。
最新文章
- Springmvc responsebody 返回对象属性 是date日期格式时 如何返回给前台自己想要的形式
- Windows10 会不会成为微软的新起点?
- WPF Window 服务安装
- commonJS — 数组操作(for Array)
- [摘]PE中安装Windows 7/8
- C#模糊查询绑定datagridview
- php连接数据库
- IDEA 创建Web项目并在Tomcat中部署运行
- slider jq小插件
- zend studio使用入门
- c#循环
- webpack的世界
- NOIP 2011 观光公交
- 深入理解Java中的不可变对象
- 【VS工具】vs2017中的一些小功能
- linux 清理缓存buff/cache
- 移动Web UI库(H5框架)
- C语言程序设计II—第六周教学
- [COGS 2551] 新型武器
- 26 THINGS I LEARNED IN THE DEEP LEARNING SUMMER SCHOOL
热门文章
- 面试题:输入两个整数 n 和 m,从数列1,2,3…….n 中 随意取几个数, 使其和等于 m
- Linux下堆漏洞的利用机制
- tidb 记录文档
- 【LOJ】#2032. 「SDOI2016」游戏
- Ionic Js一:上拉菜单(ActionSheet)
- 【知了堂学习笔记】java 方法重载与重写的归纳
- CSU - 2062 Z‘s Array
- Web应用扫描工具Wapiti
- python 并集union, 交集intersection, 差集difference, 对称差集symmetric_difference
- [ 转载 ] Java基础4--Java中的static关键字解析