0

我真的很喜欢为 iOS 开发而不是为 Android 开发。
但是,android SDK 有一个很棒的分析工具,称为Traceview跟踪视图屏幕

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

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

4

1 回答 1

0

检测崩溃堆栈跟踪:

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

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

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

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

于 2012-06-04T11:09:11.140 回答