|
使用C/C++語言開發(fā)程序時,當(dāng)程序crash的時候產(chǎn)生core dump文件對于調(diào)試程序是很有幫助的。在Redhat Linux系統(tǒng)中默認是不生成core dump文件的,這是因為在/etc/profile文件中有這樣一行 如何打開core dump呢?最簡單的方法是用戶在自己的~/.bash_profile中加入ulimit -S -c unlimited > /dev/null 2>&1,這樣設(shè)置后允許當(dāng)前用戶生成沒有大小限制的core dump文件。此外還有兩種系統(tǒng)級修改生成core dump的方法。 第一種方法是修改/etc/profile,把ulimit那一行改為 第二種方法是修改/etc/security/limits.conf文件。很多系統(tǒng)上限都可以通過修改這個文件改變,如最大子進程個數(shù),最大打開文件數(shù)等等。這個文件有詳細的注釋,對如何修改這個文件做了說明。如果想對所有用戶打開core dump,可以加入一行 最后說一下生成core dump文件的位置,默認位置與可執(zhí)行程序在同一目錄下,文件名是core.***,其中***是一個數(shù)字。core
dump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通過以下命令可以更改core
dump文件的位置(如希望生成到/tmp/cores目錄下) |
|
|
來自: Harrison.Ding > 《Linux》