如何使用stackshot调试我的应用程序?

时间:2009-12-16 19:49:42

标签: debugging macos

我最近被告知在Mac OS X上有一个名为stackshot的有用的调试工具,但是我不知道如何调用它。我对the documentation的理解是它作为守护进程运行,但是手册页也会读取,就好像它可以从命令行调用一样。我如何为当前运行的应用程序利用stackshot?

3 个答案:

答案 0 :(得分:4)

sudo /usr/libexec/stackshot -i

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

使用默认配置,这将在/Library/Logs/stackshot.log

中创建堆栈镜头

答案 1 :(得分:2)

Apple已经让我在我的iOS设备上制作了一个Stackshot。为此,当问题发生时,同时按住并释放Home和音量按钮。

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

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

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

答案 2 :(得分:0)

stackshot似乎不再包含在OS X中,至少在10.11中没有。但是,您仍然可以使用/ usr / bin / sample工具获取应用示例。

使用活动监视器也可以访问它:

  1. 打开活动监视器
  2. 双击您的应用
  3. 点击左下角的“示例”按钮
  4. 这将允许您查看应用中当前正在发生的事情,以便您可以调试CPU使用率问题,而无需从Xcode运行应用程序。