日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 下的Core Dump

發布時間:2025/3/15 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 下的Core Dump 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信大家都有過在linux 下變成出現core dump或者Segment fault的情況,有的時候這種崩潰情況不一定每次都出現,復現有一定的難度,那樣我們可以查看的就只有coredump文件了。

接下來要說的就是如何設置coredump以及調試corddump文件。

一般情況下,linux(目前我用的是centos 6.7)默認是不開啟coredump的。

[root@localhost test]# ulimit -c(出現為0的話就代表coredump的文件緩存為0,這樣的話就不會出現coredump文件)
0

我們可以執行ulimit -c unlimited來完成(我們可以手動設置為無限制)

[root@localhost test]# ulimit -c unlimited
[root@localhost test]# ulimit -c
unlimited

這樣的話當我們的程序運行初選崩潰段錯誤的時候就會在同級目錄生成一個core.xxxx的文件。這個就是我們可以調試的文件啦。

接下來我們還可以設置文件的名字屬性,不然的話很多個進程一起調試的話會崩潰掉的,傻傻分不清楚啊。

echo "/var/core/core-%e-%p-%t" > /proc/sys/kernel/core_pattern

將會控制所產生的core文件會存放到/var/core目錄下,產生的文件名為core-命令名-pid-時間戳

以下是參數列表:

????%p - insert pid into filename?添加pid

????%u - insert current uid into filename?添加當前uid

????%g - insert current gid into filename?添加當前gid

????%s - insert signal that caused the coredump into the filename?添加導致產生core的信號

????%t - insert UNIX time that the coredump occurred into filename?添加core文件生成時的unix時間

????%h - insert hostname where the coredump happened into filename?添加主機名

????%e - insert coredumping executable name into filename?添加命令名


這樣設置的話就差不多啦,至少我就這么用了。

最后的話大家編譯的時候記得加-g調試信息,關于怎么調試coredump的話 ,我相信比較簡單,就是gdb core.xxx,然后把你的可執行程序加載進來(file xxx), 接下來所有的信息都可以看到啦,具體的GDB調試的話,我這里就不詳細說明了。


總結

以上是生活随笔為你收集整理的Linux 下的Core Dump的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。