【问题标题】:Replacement for Spin Control.appSpin Control.app 的替换
【发布时间】:2012-06-20 13:38:19
【问题描述】:

由于 Apple 已经放弃了 Spin Control.app(无响应状态进程监控和日志记录实用程序),我需要更换一个。

我知道我可以直接使用spindump,但我真的很喜欢它的自动化图形前端。

谁能推荐一个好的替代品?

我的需求是:按名称自动采样我的进程并在进程无响应时存储日志。

【问题讨论】:

    标签: xcode macos debugging freeze


    【解决方案1】:

    我一直在拼命寻找旋转控制替代方案,我注意到在 Intruments 中有一个名为“旋转监视器”的工具。烦人的是,这并没有显示在初始模板向导中,您必须先通过单击标题栏中的库来找到它(见截图):

    【讨论】:

    • 这接近我想要的。但是在 Instruments 庞大的界面中使用起来还是比较麻烦的。
    【解决方案2】:

    我在 XCode 开发方面并不是特别有经验,所以这个答案可能不是您想要的,但在 Spin Control.app 上搜索和阅读了一段时间后,我在 Apple Developer 文档中找到了 this article

    似乎没有任何工具可以替代 Spin Control.app。相反,Apple 希望您现在结合使用 Instruments(他们用于调试和监视 iOS/OSX 应用程序的统一实用程序集合)和 Shark(用于采样/跟踪单个应用程序或所有正在运行的应用程序的高级工具)的组合。

    特别是,您可能会发现 Shark 的此功能很有用:

    Shark 还为几个 它的采样选项。窗口时间设施告诉 Shark 记录 并处理最近获取的样本的有限缓冲区。 此功能可让 Shark 连续长时间记录数据 背景中的时间。然后您可以指示 Shark 停止采样 只有在你的代码中发生了一些有趣的事情之后

    【讨论】:

    • 旋转控制的优势在于它自动识别沙滩球情况并进行采样。 Shark 似乎没有包含在最新的 Xcode 4 中。
    • Mountain Lion 对我来说:Shark 不会启动。如果我正确理解 Apple Developer Tools 的 Wikipedia 页面,Shark 可能在 Lion 发布时已被弃用。
    【解决方案3】:

    猜测

    虽然 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 Investigation and Troubleshooting - Part 2: The Secrets to OS X success 中有对该功能的描述,但没有值。

    我怀疑将 watchOnlyApplication 设置为 0 以外的任何值在没有 Spin Control.app 的系统上是否有用。

    【讨论】:

    • watchOnlyApplication 可能是仅在无响应的应用程序匹配该名称时记录日志的功能。
    猜你喜欢
    • 2017-10-02
    • 2014-06-27
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多