【问题标题】:Is there an Instruments Instrument that records all calls in my app是否有仪器仪器可以记录我的应用程序中的所有呼叫
【发布时间】:2017-11-07 18:19:56
【问题描述】:

Xcode Instruments 中是否有一个 Instrument 可以记录我的代码进行的所有调用(有或没有 Apple 自己的框架)。

似乎可以做到这一点的最接近的工具是 Time Profiler。
但是,Time Profiler 不会记录在您自己的代码中进行的所有调用。 Time Profiler 所做的只是在给定的时间间隔拍摄堆栈的快照。

我猜你们中的一些人可能会建议更改 Time Profiler 上的“采样间隔”,也许这可能有效,但没有一种工具可以记录代码中的所有调用。这似乎非常有用,这让人很难相信没有这样的工具。

我尝试制作自己的 DTrace 仪器,但无论我做什么,我都会收到消息说该仪器在任何配置下都无法运行。

另一个同样不起作用的选项是暂停调试器,并在 LLDB 提示符下,在我感兴趣的代码上设置断点,并将命令添加到这些断点,以便在它们被命中时,他们吐出框架信息,基本上告诉我调用的顺序。

不幸的是,该功能在 Xcode 的几个版本前停止工作。 我有 50 点赏金在这里解释这个问题......

lldb breakpoint commands not working in XCode 8

【问题讨论】:

    标签: ios xcode instruments xcode-instruments


    【解决方案1】:

    此答案不能保证会捕获“所有呼叫”,但使用延迟模式录制应该会给您更详细的示例。

    延迟模式:选择将数据分析推迟到数据收集完成后。由于更多的系统资源被用于记录的过程,因此可以更快、更准确地收集数据。

    它位于“记录选项”窗格中,但不适用于所有乐器。不过,它肯定对 Time Profiler 有帮助。

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2014-10-07
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多