【问题标题】:iOS profiler similar to android TraceviewiOS profiler 类似于 android Traceview
【发布时间】:2012-06-08 08:37:05
【问题描述】:

比起 Android,我真的更喜欢为 iOS 开发。
然而,android SDK 有一个很棒的分析工具,叫做Traceview:

它不仅可以帮助找到瓶颈,还可以显示每个线程中特定时刻正在运行的方法。这对于分析和调试非常有帮助。例如,如果我的应用程序在某个时刻崩溃了,我可以很容易地看到每个线程崩溃之前发生了什么。

是否有任何适用于 iOS 的工具可以做类似的事情? 我在 Instruments 中尝试了 TimeProfiler 和 Sampler,但找不到如何执行此操作。

【问题讨论】:

    标签: ios profiling instruments xcode-instruments


    【解决方案1】:

    检测崩溃堆栈跟踪:

    1. 如果您的设备上有调试版本并且崩溃了,这是可能的。将设备连接到 Xcode 并从 Xcode 启动应用程序。一旦崩溃,Xcode 会显示堆栈跟踪。
    2. 无论如何,iOS 都会编写一个崩溃报告,其中包含所有线程的详细堆栈跟踪。将设备连接到 Xcode 并启动 Organizer 后,它将自动导入所有崩溃报告并对其进行符号化。请注意,您需要在您的 Mac 上存档导致设备崩溃的确切版本和 dSYM。当您使用存档功能时,这会自动完成。如果这是一个调试版本,并且您确实在 Xcode 中为设备而不是模拟器创建了另一个调试版本(无论是否连接了任何设备),那么这些文件将不再可用。符号化会将内存帧转换为类、方法和行号。要获取行号,dSYM 是强制性的!
    3. 您还可以使用 3rd 方崩溃报告器来检测崩溃,将它们发送到服务器,将它们组合在一起并进行符号化(如果 dSYM 已上传并且服务器能够执行此操作)。这适用于调试、测试版和应用商店构建。此处显示了一些示例:Including custom data into iOS crash dumps

    Profiling - Instruments 工具提供了许多功能来分析您的应用,例如:

    • 内存使用情况
    • 泄漏
    • CPU 使用率
    • 僵尸
    • 还有更多

    您可以在 iOS 开发者文档中找到有关 Instruments 的更多详细信息:https://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004652

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 2012-07-26
      相关资源
      最近更新 更多