我是 Shark 的新手,我想知道是否可以将时间样本缩小到一种特定的方法?
假设我想,只是为了它,知道在调用所有 NSArray(或子类)实例的方法“count”时使用了多少资源。
我是 Shark 的新手,我想知道是否可以将时间样本缩小到一种特定的方法?
假设我想,只是为了它,知道在调用所有 NSArray(或子类)实例的方法“count”时使用了多少资源。
如果您自下而上查看时间曲线图,并将在库中花费的任何 time-count 费用计入其调用者,那应该会给您想要的。它可以让您查看由于 -count 所花费的时间(即执行该方法以及该方法完成其工作所需的任何时间),还可以让您找出调用该方法的位置。你花这么多时间在 -count 上的原因可能不是因为它需要很长时间,而是因为你这样做太频繁了。
至少在功能级别上花费的时间正是 Instruments 为您提供的。使用 DTrace,您甚至可以更深入地挖掘。也许查看我的博客文章。这应该有望解决问题。
例如,您可以轻松编写一个 DTrace 脚本来打印计数调用的内存消耗。
干杯,托斯滕
您可以按 cmd-f 搜索符号。确保“自动展开”复选框已打开,以便它进入树中。您可能需要打开窗口 -> 显示高级设置。
找到符号后,右键单击它,您有一些选项:
焦点符号:这将让您过滤到仅对您选择的符号和以下符号的调用
Retain Callstacks with:这将让您看到对符号的所有调用并过滤掉其他所有内容
完成后,您可以右键单击并“全部取消焦点”或“全部恢复”。这些命令最终会修改高级设置中的“调用堆栈数据挖掘”部分。胡闹。