iOS探查器类似于android Traceview

时间:2012-06-04 08:37:56

标签: ios profiling instruments xcode-instruments

我非常喜欢为iOS开发iOS以上 但是,android SDK有一个很棒的分析工具,名为TraceviewTraceview screen

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

是否有适用于iOS的工具可以执行类似的操作? 我在Instruments中尝试过TimeProfiler和Sampler,但是找不到怎么做。

1 个答案:

答案 0 :(得分:0)

检测崩溃堆栈跟踪:

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

    • 内存使用
    • 泄漏
    • CPU使用率
    • 僵尸
    • 以及更多

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