2012-12-12 35 views

回答

6

您可以啓用它爲自己做:

ulimit -c unlimited 

如果你想這是它在〜/ .profile文件

Alterantively,您可以啓用的核心轉儲持續看跌系統上的所有用戶在/etc/sercurity/limits.conf(至少在Ubuntu上)放置了以下行:

* 0 core -1 
2

是否產生核心轉儲或不被shell

如果你使用bash控制。

ulimit -c unlimited 
1

如果您的程序是用戶模式程序。這是一個簡短的教程。

將核心文件大小爲最大

的ulimit -c無限

運行程序

$ ./your_program

區隔(核心轉儲)

它會生成核心轉儲文件。 用GDB分析核心轉儲

GDB ./your_progrm核心

您可以參考How to Debug Using GDB以獲取更多信息。

2

除了特洛伊的回答,你將不得不添加到E的/ etc/sysctl.conf的 - 在那裏,你需要如何內核生成 - 這樣的:

kernel.core_uses_pid=1 
kenrel.core_pattern= /tmp/cores/core-%e-%p-%u-%g-%s-%t 
fs.suid_dumpable=2 
+0

你可以做到這一點,但我相信如果沒有特別的配置,大多數Linux發行版都會在當前目錄下轉儲一個'core'文件(所以說「你必須」有點太強大了,「你可能不得不」)就足夠了) –