由于 Apple 已经放弃了 Spin Control.app——无响应的状态进程监控和日志工具——我需要一个替代品。
我知道我可以spindump
直接使用,但我真的很喜欢它的自动化图形前端。
谁能推荐一个好的替代品?
我的需求是:按名称自动对我的进程进行采样,并在进程无响应时存储日志。
我一直在拼命寻找旋转控制替代方案,我注意到在 Intruments 中有一个名为“旋转监视器”的工具。令人讨厌的是,这并没有显示在初始模板向导中,您必须先通过单击标题栏中的库来找到它(参见屏幕截图):
我对 XCode 的开发并不是特别有经验,所以这个答案可能不是你想要的,但是在 Spin Control.app 上搜索和阅读了一段时间后,我在 Apple Developer 文档中找到了这篇文章。
似乎没有一个工具可以替代 Spin Control.app。相反,Apple 希望您现在使用Instruments的组合,它们是用于调试和监控 iOS/OSX 应用程序的统一实用程序集合,以及Shark,一种用于采样/跟踪单个应用程序或所有正在运行的应用程序的高级工具。
特别是,您可能会发现 Shark 的此功能很有用:
Shark 还为其几个采样选项提供了窗口时间工具功能。窗口时间工具告诉 Shark 记录和处理最近获取的样本的有限缓冲区。此功能可让 Shark 在后台长时间连续记录数据。然后,您可以指示 Shark 仅在您的代码中发生有趣的事情后停止采样
虽然 Spin Control.app 不再存在,但操作系统可能会com.apple.spincontrol
尊重域中首选项的更改。
如果这是真的,那么改变 的值hangDelay
可以有效地改变采样开始前的延迟:
sh-3.2$ defaults read com.apple.spincontrol
{
hangDelay = 5;
watchOnlyApplication = 0;
}
sh-3.2$ defaults write com.apple.spincontrol hangDelay 10
sh-3.2$ defaults read com.apple.spincontrol
{
hangDelay = 10;
watchOnlyApplication = 0;
}
sh-3.2$
对于观看单个应用程序时,我猜它的值watchOnlyApplication
可能是进程的名称或 PID(感谢@Aeyoun 的评论)。在 2006 年 MacTech 文章OS X 调查和故障排除 - 第 2 部分:OS X 成功的秘诀中有对该功能的描述,但没有价值。
我怀疑在没有 Spin Control.app 的系统上设置watchOnlyApplication
为任何其他内容0
都可以使用。