Linux下如何產生coredump(gdb調試用)


任務發生異常,需要記錄遺言信息,利用gdb調試,因此需要記錄coredump文件。

設置查看:

在root用戶下執行sysctl -a | grep core,查看core文件的配置是否正確

命令設置:

1)使用命令 ulimit -c unlimited 設置coredump文件可以使用最大空間;

  或去vi /etc/security/limits.conf修改

2)/proc/sys/kernal/core_pattern 可以設置coredump產生的路徑和文件名格式。如果不修改,默認在程序執行目錄下產生。

   或使用命令修改:

    sysctl -w kernel.core_pattern=/core/core.%e.%p

如果設置了上述兩點,還是不能產生coredump,可能是以下原因:

1) 有些信號量默認是不產生coredump的,可以用 man signal  看一下。

2) 硬盤空間不夠了,coredump需要占用很大的硬盤空間(上G的空間);

3) ulimit -c 命令只在當前terminal上有效,也就是程序啟動的terminal設置該命令才有效。該命令無效,當然就不能產生coredump了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM