centos core檔案的產生

來源:互聯網
上載者:User

使用C/C++語言開發程式時,當程式crash的時候產生core dump檔案對於偵錯工具是很有協助的。在Redhat Linux系統中預設是不產生core dump檔案的,這是因為在/etc/profile檔案中有這樣一行ulimit -S -c 0 > /dev/null 2>&1

如何開啟core dump呢?最簡單的方法是使用者在自己的~/.bash_profile中加入ulimit -S -c unlimited > /dev/null 2>&1,這樣設定後允許目前使用者產生沒有大小限制的core dump檔案。此外還有兩種系統級修改產生core dump的方法。

第一種方法是修改/etc/profile,把ulimit那一行改為ulimit -S -c unlimited > /dev/null 2>&1

這樣設定後系統允許所有使用者產生沒有大小限制的core dump檔案。這樣做的優點是不需要重起系統,缺點是無法控制只讓某些使用者產生core dump檔案。

第二種方法是修改/etc/security/limits.conf檔案。很多系統上限都可以通過修改這個檔案改變,如最大子進程個數,最大開啟檔案數等等。這個檔案有詳細的注釋,對如何修改這個檔案做了說明。如果想對所有使用者開啟core dump,可以加入一行* soft core 0

如果只想對某些使用者或使用者組開啟core dump,可以加入user soft core 0或@group soft core 0

注意如果通過修改/etc/security/limits.conf檔案開啟core dump,還需要注釋掉/etc/profile中的ulmit那一行#ulimit -S -c 0 > /dev/null 2>&1這樣修改的優點是可以針對特定使用者或特定組開啟core dump檔案,缺點是需要重起系統。

最後說一下產生core dump檔案的位置,預設位置與可執行程式在同一目錄下,檔案名稱是core.***,其中***是一個數字。core dump檔案名稱的模式儲存在/proc/sys/kernel/core_pattern中,預設值是core。通過以下命令可以更改core dump檔案的位置(如希望產生到/tmp/cores目錄下)echo "/tmp/cores/core" > /proc/sys/kernel/core_pattern
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.