1

セグメンテーション違反を起こす C 言語の PostgreSQL 拡張機能に取り組んでいるので、OS X Lion ボックスのコア ダンプ ファイルを調べたいと思います。ただし、見つけることができるコアファイルは/coresどこにもありません。システムで有効になっているように見えますが、サイズは 0 に制限されています。

> sysctl kern.coredump               
kern.coredump: 1
> ulimit -c
0

ulimit -c unlimitedPostgreSQLの起動と停止に使用しているシェルセッションで設定を試みましたが、固執しているようです:

> ulimit -c
unlimited

それでも、私が何をしても、コアファイルはありません。で PostgreSQL を開始していますpg_ctl -c。ここで、-cは PostgreSQL にコア ダンプを生成するように指示します。しかし、システムには何もありません。Lion にコア ファイルをダンプさせるにはどうすればよいですか?

4

1 に答える 1

1

/cores/ ディレクトリは必ずしも Lion に存在するとは限りません。存在しない場合、コアを取得できません。ulimit を (お持ちのように) 設定し、cat(1) のようなプログラムを実行し、SIGQUIT (control-backslash) で終了して、コアダンプを取得できるはずです:

lion:~ user$ ulimit -c unlimited lion:~ user$ cat ^\ ^\ Quit: 3 (コアダンプ) lion:~ user$ ls -l /cores/ total 716584 -r-------- 1ユーザー user 366891008 6 月 21 日 23:35 core.1263 ライオン:~ user$

Yuji がhttps://stackoverflow.com/a/3783403/225077で提案したテクニカル ノート TN2124 http://developer.apple.com/library/mac/#technotes/tn2124/が役立ちます。

于 2012-06-22T05:54:18.693 に答える