Mac OS Xでは、SIGプログラムをCプログラムに送信すると終了しますが、コアダンプファイルはありません。
Mac OS Xでコアダンプを手動で有効にする必要がありますか(方法)、作業ディレクトリではなく他の場所に書き込まれますか?
デフォルトでは抑制されているようです。ランニング
$ ulimit -c unlimited
現在の端末のコアダンプを有効にし、core.PIDとして/ cores /に配置されます。新しいセッションを開くと、再びデフォルト値に設定されます。
MacOSでは、クラッシュダンプは Crash Reporter によって自動的に処理されます。
Console を実行してUser Diagnostic Reportsセクション(「Diagnostic and Usage Information」グループの下)に移動すると、バックトレースファイルを見つけることができます。または、~/Library/Logs/DiagnosticReports
で見つけることができます。
system.log
ファイルを監視することにより、ダンプが生成される場所を確認することもできます。
tail -f /var/log/system.log | grep crash
/cores
にある実際のcoreダンプファイル。
こちらもご覧ください:
上記の答え、
ulimit -c無制限
動作しますが、コアをダンプするプログラムを実行するのと同じ端末で必ず実行してください。最初にulimitコマンドを実行する必要があります。
デフォルトでは、mac osxの特定のディレクトリは非表示です。端末でこの機能を有効にすると、ディレクトリ/ cores内にコアダンプが表示されるはずです。
デフォルトはcom.Apple.Finder AppleShowAllFiles TRUEを書き込みます
また、/ coresディレクトリが存在し、プログラムを実行しているユーザーに書き込み権限が必要です。