iOS Insturments调试(参考整理向)

原文http://www.cocoachina.com/ios/20150225/11163.html

1.使用真机调试(模拟器和真机性能差异大)。

2.使用发布配置(发布配置时编译器会引入一系列提高性能的优化&WatchDog机制监测应用的性能便于Crashlog)

调试项目

1.Time Profile:检测CPU使用情况,各个方法消耗CPU时间。(动画等非常苛刻且耗费资源较多,不一定是存在问题)

勾选Call Tree->Seperate Thread(线程分离,清晰看到占用CPU最大的线程) & Hide System Libraries隐藏系统相关方法。30x代表30ms,右上方xcode按钮直接定位对应调用方法入口。

Invert Call Tree: 可以快捷看到方法调用路径最深方法占用CPU耗时。

Hide Missing Symbols: 如果dSYM无法找到app活着调用系统框架,那么表中看到调用方法名智能看到16进制的数值,勾选此选项可以隐藏这些符号,便于简化分析数据。

时间: 2024-10-10 08:09:38

iOS Insturments调试(参考整理向)的相关文章

iOS各种调试技巧豪华套餐

转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects) 进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试 结语 前言 最近博主临近毕业季

iOS高效调试

写代码难免出现bug. 储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了.贴出两段封装好的日志打印代码: //swift版 func DLog<T>(message: T, file: String = #file, method: String = #function, line: Int = #line) { #if DEBUG print("<\((file

IOS各种调试

IOS各种调试技巧豪华套餐 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕

iOS程序调试和发布时遇到的问题

最近接手一个项目,在用真机调试时出现了“Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”的出错.一直提示指定UUID的provisioning profile找不到,感觉很奇怪.明明自己的provisioning profile是刚下载好的,并且全是新安装.于是通过谷歌找到了答案. 参考地址:http://sta

iOS那些值得参考的App项目源码

iOS那些值得参考的App项目源码 https://cloud.tencent.com/developer/article/1332192 https://github.com/siegrainwong/WeChat iOS工具——Xcode9无证书真机调试 原文地址:https://www.cnblogs.com/kaola8023/p/12145642.html

【资源】IOS学习资料 - 逆天整理 - 精华无密版【最新】【精华】

 入门看视频,提高看书籍,飘升做项目.老练研开源,高手读外文,大牛讲低调~  01.IOS基础 01.iOS开发快速入门教程 http://pan.baidu.com/s/1kT3ScOf 链接: http://pan.baidu.com/s/1kTKheAF 密码: yycm 02.苹果开发零基础入门教程 http://pan.baidu.com/s/1dDfHL77 链接: http://pan.baidu.com/s/1o6iNkIu 密码: nn3a 03.黑马IOS2期基础 http:

我的女神——简洁实用的iOS代码调试框架

我的女神--简洁实用的iOS代码调试框架 一.引言 这篇博客的起源是接手了公司的一个已经完成的项目,来做代码优化,项目工程很大,并且引入了很多公司内部的SDK,要搞清楚公司内部的这套框架,的确不是件容易的事,并且由于这个项目是多人开发的,在调试阶段会打印出巨量的调试信息,使得浏览有用信息变的十分困难,更加恐怖的是,很多信息是SDK中的调试打印,将这些都进行注销是非常费劲甚至不可能的事,于是便有了这样一些需求:首先,我需要清楚了解各个controller之间的跳转关系,需要快速的弄清每个stroy

iOS-多线程 ,整理集锦,多种线程的创建

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; //创建线程的第一种方式 NSThread *thread = [[NSThread all

iOS学习笔记-精华整理

iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁. 2-成员属性:     readonly:不指定readonly,默认合成getter和setter方法.外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全