5

すべてのアプリケーションでクラッシュやハングアップする方法があることは知っています。これらのファイルは、「/Users/user/Library/Logs/DiagnosticReports」に配置されます。そのため、アプリのバージョン、時刻、名前を取得できました。

しかし、デーモン/プロセスがクラッシュしてハングする方法は? クラッシュ/ハングした正確なデーモンと、それが発生した時刻を知る必要があります。

また、同じ情報でシステム (OSX) をクラッシュさせる方法はありますか?

また、メモリ不足またはディスク容量不足など、リソースの障害/警告を取得することもできます。

プログラムで取得する必要があります。

Windows では、NotifyChangeEventLog () API を使用してこれを行うことができます。このような方法を使用して収集できるこれらすべての情報。また、何かが起こった場合に通知します。

4

2 に答える 2

3

デーモンのクラッシュ/ハング レポートについては、「/Library/Logs/DiagnosticReports」ディレクトリを参照してください。このドキュメントによると、カーネル パニック レポート (つまり、システム クラッシュ) も見つけることができます。
NotifyChangeEventLog っぽい API については知りませんが、「メモリ不足」のような状況では例外が発生するので、それをキャッチするだけで済みます。詳細については、エラー処理プログラミング ガイドを参照してください。Exception Programming Topics

Editも参照してください。Crash Reporter に関する情報については、Levin の著書「Mac OS X and iOS Internals: To the Apple's Core」の第 5 章を参照してください。

于 2013-06-03T06:06:42.683 に答える