2009-12-16 30 views

回答

4
sudo /usr/libexec/stackshot -i 

Stackshot旨在调试系统范围的问题(死锁等),而不是单个应用程序;因此它会创建整个系统的堆栈转储,而不是一个应用程序。

在默认配置下,这将创造/Library/Logs/stackshot.log

+0

谢谢;我发现如果在命令行中添加'-p pid',您可以堆栈(原文)单个应用程序来检查其中的死锁。 – fbrereto 2009-12-16 21:36:03

+2

我的'/ usr/libexec'中没有'stackshot'。我在10.11.3 – gman 2016-03-28 12:40:34

2

苹果已经要求我出示我的iOS设备上的Stackshot堆栈出手。为此,当问题发生时,同时按住并释放主页和音量按钮。

然后,将您的设备与iTunes同步。

同步后,您的stackshot日志文件将存储在计算机上。我不知道它是在Windows,但在Mac上它是:

〜/图书馆/日志/ CrashReporter始终/移动设备//堆栈-YYYY-MM-DD-xxxxxx.log

0

stackshot不再出现在OS X中,至少不在10.11中。不过,您仍然可以使用/ usr/bin/sample工具来获取应用程序的示例。

这也是访问使用活动监视器:

  1. 打开活动监视器
  2. 双击您的应用程序
  3. 在左下角点击样品按钮

,让你查看您的应用中当前正在发生的事情,以便您无需从Xcode运行应用即可调试CPU使用率问题。

+0

活动监视器的输出看起来很奇怪。我能否以某种方式获得堆栈跟踪? – Michael 2016-10-31 13:09:33

相关问题