Posted on 2009-01-06 16:50
Prayer 閱讀(686)
評論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
--何謂 core?
在使用半導(dǎo)體作為記憶體的材料前,人類是利用線圈當(dāng)作記憶體的材料(發(fā)明
者為王安),線圈就叫作 core ,用線圈做的記憶體就叫作 core memory。如今
,半導(dǎo)體工業(yè)澎勃發(fā)展,已經(jīng)沒有人用 core memory了,不過,在許多情況下,
人們還是把記憶體叫作 core 。
--何謂 core dump?
我們在開發(fā)(或使用)一個程式時,最怕的就是程式莫明其妙地當(dāng)?shù)簟km然系
統(tǒng)沒事,但我們下次仍可能遇到相同的問題。於是這時作業(yè)系統(tǒng)就會把程式當(dāng)?shù)?nbsp;
時的記憶體內(nèi)容 dump 出來(現(xiàn)在通常是寫在一個叫 core 的 file 里面),讓
我們或是 debugger 做為參考。這個動作就叫作 core dump。
--為何會發(fā)生 core dump?
前面說過,在程式當(dāng)?shù)魰r出錯。在 C/C++語言中,最常發(fā)生錯誤的地方就是指
標(biāo)有問題。您可以利用 core 檔和 debugger 把錯誤找出來(要怎麼在 debugger
中使用 core 檔?man 一下 gdb吧!)。
--我可以把 core 檔砍掉嗎?
如果你不會、不能、不需要修改程式,那就放心地把它砍了吧!
--要怎麼才不會讓 core 檔出現(xiàn)?
嗯....我不是很清楚。我在系上的帳號用的是 tcsh ,若您和我一樣的話,可
以試著在 .tcshrc 里加一行:
limit coredumpsize 0
若是指您架的 FreeBSD,我記得好像在 make kernel 時有相關(guān)的選項吧!