Apple が Spin Control.app (無応答状態のプロセスを監視およびログ記録するユーティリティ) を削除したので、代替品が必要です。
直接使用できることはわかってspindump
いますが、自動化されたグラフィカルフロントエンドが本当に気に入りました。
誰かが良い代替品を提案できますか?
私のニーズは次のとおりです。名前でプロセスを自動的にサンプリングし、プロセスが応答しなくなったときにログを保存します。
スピン コントロールの代替手段を必死に探していたところ、Intruments 内に「スピン モニター」と呼ばれるツールがあることに気付きました。面倒なことに、これは最初のテンプレート ウィザードには表示されません。最初にタイトルバーのライブラリをクリックして見つける必要があります (スクリーンショットを参照)。
私は XCode での開発の経験が特にないので、この回答はあなたが探しているものではないかもしれませんが、しばらくして Spin Control.app を検索して読んだ後、Apple Developer ドキュメントでこの記事を見つけました。
Spin Control.app に代わる単一のツールはないようです。代わりに、Apple は、iOS/OSX アプリをデバッグおよび監視するためのユーティリティの統合コレクションであるInstrumentsと、単一のアプリケーションまたは実行中のすべてのアプリケーションをサンプリング/トレースするための高度なツールである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 Investigation and Troubleshooting - Part 2: The Secrets to OS X successには機能の説明がありますが、値はありません。
Spin Control.app のないシステムで使用できるwatchOnlyApplication
もの以外に設定することはできません。0