是否有一个 Instruments Instrument 可以记录我应用程序中的所有调用
Is there an Instruments Instrument that records all calls in my app
Xcode Instruments 中是否有一个 Instruments 可以记录我的代码所做的所有调用(有或没有 Apple 自己的框架)。
似乎最接近的工具是 Time Profiler。
但是,Time Profiler 不会记录在您自己的代码中进行的所有调用。 Time Profiler 所做的只是在给定的时间间隔拍摄堆栈快照。
我猜你们中的一些人可能会建议更改 Time Profiler 上的 "sampling interval",也许这可能会起作用,但是没有一种工具可以记录代码中的所有调用。这似乎非常有用,这让人很难相信没有这样的工具。
我尝试制作自己的 DTrace 工具,但无论我做什么,我都收到消息说该工具在任何配置下都不可运行。
另一个也不起作用的选项是暂停调试器,并在 LLDB 提示符下,在我感兴趣的代码上设置断点,并向这些断点添加命令,以便它们在点击,他们吐出帧信息,基本上告诉我调用的顺序。
不幸的是,该功能在 Xcode 的几个版本之前就停止工作了。
我有 50 点赏金在这里解释这个问题...
lldb breakpoint commands not working in XCode 8
此答案不保证 "ALL calls" 会被捕获,但使用延迟模式记录应该会为您提供更详细的样本。
Deferred mode: Select to defer data analysis until after data collection is complete. This can result in faster and more accurate data collection, as more system resources are directed at the process being recorded.
它位于“记录选项”窗格中,但并非对所有乐器都可用。不过,它对 Time Profiler 绝对有帮助。
Xcode Instruments 中是否有一个 Instruments 可以记录我的代码所做的所有调用(有或没有 Apple 自己的框架)。
似乎最接近的工具是 Time Profiler。
但是,Time Profiler 不会记录在您自己的代码中进行的所有调用。 Time Profiler 所做的只是在给定的时间间隔拍摄堆栈快照。
我猜你们中的一些人可能会建议更改 Time Profiler 上的 "sampling interval",也许这可能会起作用,但是没有一种工具可以记录代码中的所有调用。这似乎非常有用,这让人很难相信没有这样的工具。
我尝试制作自己的 DTrace 工具,但无论我做什么,我都收到消息说该工具在任何配置下都不可运行。
另一个也不起作用的选项是暂停调试器,并在 LLDB 提示符下,在我感兴趣的代码上设置断点,并向这些断点添加命令,以便它们在点击,他们吐出帧信息,基本上告诉我调用的顺序。
不幸的是,该功能在 Xcode 的几个版本之前就停止工作了。 我有 50 点赏金在这里解释这个问题...
lldb breakpoint commands not working in XCode 8
此答案不保证 "ALL calls" 会被捕获,但使用延迟模式记录应该会为您提供更详细的样本。
Deferred mode: Select to defer data analysis until after data collection is complete. This can result in faster and more accurate data collection, as more system resources are directed at the process being recorded.
它位于“记录选项”窗格中,但并非对所有乐器都可用。不过,它对 Time Profiler 绝对有帮助。