由于Xcode调试工具Instruments指南篇幅太长,所以本篇blog继续上篇,介绍对Instruments收集到的数据去分析。

关于数据分析

Instruments不解决你代码中的任何问题,它帮助你更好的理解你的代码正在做什么,通过捕获你app运行的详细统计数据,并呈现它们給你去分析。由于每个app是不同的,发现和解决问题的实际步骤有所不同。因此你必须了解怎样解释那些你筛选后Instruments收集的数据。并探讨与你app有关的数据,你必须执行一些工作,标识代码中的数据在app中,这样你就可以做出改进。

执行跟踪后,你可以时间窗口中,想求窗口,指示窗口的详情区域查看所收集的数据


查看时间线窗口

一个追踪文件最重要的部分为时间线窗口,介绍了由每个工具基于时间收集的数据视图。这个窗口可以很容易的发现趋势和潜在问题的区域在你的app中。例如,一个内存使用图标的尖峰表示你的app比平时分配更多的内存。这个尖峰可能是正常的,也可能表示你代码中创建了大量的对象,或者内存的缓冲区超出你的预期。一个工具,例如Leaks可以验证你的app没有正常的处理内存如果Leaks的时间线窗口追踪是稀疏的填充,你知道你的app是正确的行为,如果追踪不为空你可能要检查原因。

一下各节提供有关时间线窗口的信息,以及如何配置它。

放大和缩小

如果你已经在追踪中捕获了大量的数据,你可以扩大或者缩小在时间线窗口中显示的细节,让你更专注在指定的数据上。

放大和缩小数据

请执行下列操作之一:

  • 要放大或缩小,捏合触控板
  • 要放大或缩小,使用滚轮的同时按下Option键将光标定位在轨迹视图。
  • 要放大,按Option键,然后拖动隔离选中的数据
  • 要缩小,按Ctrl键,然后拖动选中的数据。

在时间线窗口记录所有合适的数据

请执行下列操作之一:

  • 按 Command-Control-Z

在时间线窗口中增加数据显示的尺寸

请执行下列操作之一:

  • 按Command-Plus (+)

    这个轨迹增加当前选中工具的高度,允许你查看它更多的细节。

在时间线窗口中减少数据显示的尺寸

请执行下列操作之一:

  • 按Command-Minus (-)

过滤数据的范围

Instruments收集大量的信息作为它的配置文件,你可以快速的过滤这些数据通过设置详情窗口,展示特定时间范围内发生的唯一的事件。

选择一个时间段进行检查

1.拖动数据的一部分,不使用任何按键,只有你拖动数据显示。



你指定的范围在时间线窗口高亮的内容。

清除检查范围

请执行下列操作之一:

  • 点击时间线选中范围的外面

设置标示

标示可以让你在时间线窗口中快速访问感兴趣的点,你可以为每个标志添加名字和描述。

在当前时间线窗口的播放指示器设置一个标示

请执行下列操作之一:

  • 按Command–Down Arrow

在你时间线标示中查看

1.

2.在标示中点击一个标示然后在时间线面板中查看

删除一个标示

把标示拖拽出时间线导航栏

隐藏一个标示

1.

2.

访问多个运行的追踪数据

一个追踪文件可以在你的app运行过程中记录多个数据,当这样做时不会丢弃先前记录的数据

查看一个选中工具的运行列表

该工具展开以显示运行的列表

查看一个选中工具的运行数据

1.

2.在时间线窗口中选择所需的运行轨迹

移动到下一个选中工具的运行

请执行下列操作之一:

    • 按Command-Apostrophe (‘)

    移动到上一个选中工具的运行

    请执行下列操作之一:

  • 按 Command-Quotation (“)


查看详情窗口

当你在时间线窗口辨认出一个潜在问题区域,使用详情窗口在这个区域检查数据,这个详情窗口显示与所选择的工具当前追踪运行的相关数据,Instruments在详情窗口只显示一段时间的一个工具。因此你必须选择不同的工具来开不同组的信息。

打开或者关闭详情面板

请执行下列操作之一:

  • 在工具栏的右端点击

在详情窗口查看指定工具的数据

1.

在详情窗口中查看不同种类的数据

对于某些工具你可以显示一个以上格式的数据,例如Activity Monitor允许你查看数据的汇总,父子信息与采样列表。

在详情种类切换

工具的模式支持取决于工具收集数据的种类

对于一些详情的种类,像Allocations可以调用树模式,你可以使用展开一个特定的行,进一步分解成相应的层次,点击一个三角形展开或者关闭一个给定的行。

在详情窗口排序

根据特定的列的数据在详情窗口排序信息显示。请点击相应的列的页眉,在每个工具在详情窗口中的列不同。

使用扩展详情窗口

对于一些工具,在指示窗口扩展详情的区域展示有关当前在详细信息窗格中选择项目的附加信息,这个扩展的详细信息可包括探针描述或被记录的时间,栈追踪,和当记录信息的时间,以及其他信息。

打开或者关闭指示窗口的扩展详情区域

请执行下列操作之一:

  • 按Command-2

  • 点击按钮

您可以通过单击折叠按钮隐藏在堆栈跟踪系统调用


查看app的源代码

如果你有一个Xcode项目在栈追踪符号列表的源代码,Instruments可以显示你的代码,并可以在Xcode中打开,这样就可以做出任何期望的改变。

使用栈追踪符号找到你写的源代码,用户端啊栈追踪符号出现在详情窗口与黑色背景上的小方块用户图标,为了更方便的找到符号代码,你可以实现使用显示设置区域在指示器窗口筛选出隐藏符号和系统库。

查看app的源代码

1.

2.双击



3.点击在详情窗口的右上角打开Xcode,并显示你的源代码,下面截图显示出现在详情窗口顶部的Xcode按钮的位置。它出现后你双击符号或详情窗口或指示窗口中扩展的详情区域中的图标显示在详细信息窗格中的代码。

Instruments-查看收集到的数据的更多相关文章

  1. ELKF-分布式日志收集分析平台搭建 最小化 配置过程 - 查看收集日志(windows10下搭建)

    前言 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的.这三个产品被设计成一个集成解决方案,称为“Elastic Stack” ...

  2. MVC5 + EF6 + Bootstrap3 (13) 查看详情、编辑数据、删除数据

    Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-rud.html 系列教程:MVC5 + EF6 + Boo ...

  3. 查看被锁的数据[Z]

    SELECT LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME AS OBJ_NAME --对象名称(已经被锁住) ,LOCK_INFO.SUBOBJ_NAME ...

  4. T-SQL技术收集——删除重复数据

    原文:T-SQL技术收集--删除重复数据 在工作和面试中,经常出现如何查询或者删除重复数据的问题,如果有主键,那还好办一点,如果没有主键,那就有点麻烦. 当一个表上没有辅助键时,如果使用SSMS界面来 ...

  5. Linux下,如何查看磁盘是否包含数据

    可以使用lquerypv -h来查看磁盘是否包含数据,或磁盘头是否被dd过.这在安装RAC的过程中,是非常实用的一个命令.如果不包括数据的话,那么如下所示: [ZFFR4CB2101:root]/]& ...

  6. TCP/IP 笔记 6 netstat -s 命令查看每个协议统计数据

    netstat -s 命令,查看每个协议统计数据的常用方法 lenovo-myc@lenovomyc-Lenovo-Product:~$ netstat -s Ip: total packets re ...

  7. 【ABAP系列】SAP ABAP如何在调试查看EXPORT/IMPORT 内存数据

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP如何在调试查看E ...

  8. 实现页面查看xml或json数据类似控制台效果

    在前端查看xml或者json数据时,实现在类似与控制台中console的效果. 配合Ant Design的Collapse折叠面板进行展示. Collapse组件的地址:https://ant.des ...

  9. 通过dbcc page来查看表中的数据

    --1.先建表 CREATE TABLE test(idd INT NOT NULL,name VARCHAR(10) NULL) INSERT INTO TEST SELECT 1,'abcdefg ...

随机推荐

  1. 关于cookie的一点知识

    关于cookie的一点知识 1.cookie是存储在客户端计算机中. 2.cookie不能跨浏览器访问.cookie是浏览器保存的,所以不同浏览器对cookie的保存路径.存储数据的格式.文件大小都可 ...

  2. 巨大bug

    //数据结构关于课程设计--------图书馆管理系统的设计 #include <stdio.h> #include <stdlib.h> #include <strin ...

  3. bitmap缩放时抗锯齿

    bitmap在进行放大缩小的时候经常会出现边缘锯齿的情况,通常的解决办法是在Paint中加入抗锯齿, paint.setAntiAlias(true); 但是有时候发现这并没有起到抗锯齿的作用,这是可 ...

  4. powerdesigner使用之——从“概念模型”到“物理模型”

    现实问题在计算机上的解决,需要我们从现实问题中抽象出实体模型,然后再将实体模型对应到数据库关系表中. 例如,我们在思考学生选课,这件事情上,实体模型就是“学生”和“课程”两个 此时,我们使用power ...

  5. 解决myeclipse每次启动注册码过期输入注册码

    每次都需要重新输入一个新的注册码,搞的很不愉快,后来发现原来是因为在[我的文档]下面有一个myeclipse的配置文件,叫.myeclipse.properties 你可以全盘搜索一下这个文件,然后改 ...

  6. [C++]默认构造函数

    默认构造函数(default constructor)就是在没有显示提供初始化式时调用的构造函数.它由不带参数的构造函数,或者为所有的形参提供默认实参的构造函数定义.若个定义某个类的变量时没有提供初始 ...

  7. HDU 3501 Calculation 2 (欧拉函数)

    题目链接 题意 : 求小于n的数中与n不互质的所有数字之和. 思路 : 欧拉函数求的是小于等于n的数中与n互质的数个数,这个题的话,先把所有的数字之和求出来,再减掉欧拉函数中所有质数之和(即为eula ...

  8. C# 计算一段代码执行的时间函数

    使用 Stopwatch 类 eg:  计算一个for循环需要的时间 Stopwatch watch = new Stopwatch(); watch.Start(); ; i < ; i++) ...

  9. Android ActionBar与ViewPager合用

    内容可以左右滑动,因为使用了ViewPager(我这里用了V4包) view_pager_main.xml <?xml version="1.0" encoding=&quo ...

  10. CKeditor 配置使用

    CKeditor 配置使用 一.使用方法:1.在页面<head>中引入ckeditor核心文件ckeditor.js<script type="text/javascrip ...