我正在研究C中的一個PostgreSQL擴展,它表示segfaults,所以我想看看我的OS X Lion框上的核心轉儲文件。但是,/cores
或其他任何地方都沒有核心文件。看來他們在系統中啓用,但僅限於一個大小爲0:如何在OS X Lion上獲得核心轉儲?
> sysctl kern.coredump
kern.coredump: 1
> ulimit -c
0
我試着在我使用的啓動和停止的PostgreSQL的shell會話設置ulimit -c unlimited
,似乎堅持:
> ulimit -c
unlimited
然而不管我做什麼,都沒有核心文件。我以pg_ctl -c
開始PostgreSQL,其中-c
告訴PostgreSQL生成核心轉儲。但是這個系統一無所有。我如何讓Lion轉儲核心文件?
如果我編寫一個調用abort()的小程序,設置ulimit -c unlimited並運行它,我會在Lion上的/ cores中獲得核心轉儲。你可以做一個快速的健康檢查嗎?如果它能夠工作,我會懷疑PostgreSQL中有些奇怪的事情發生,或者是在你的ulimit和pg_ctl啓動的最終子進程之間出現問題。 – 2012-02-21 23:26:42