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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

coredump

發布時間:2023/12/13 综合教程 62 生活家
生活随笔 收集整理的這篇文章主要介紹了 coredump 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

coredump介紹

應用程序有時會因為異常或者bug導致在運行過程中異常退出或者終止,為了方便問題的定位,我們往往需要獲取程序運行時的內存,寄存器狀態,堆棧指針,內存管理以及函數調用堆棧信息等,從而找到bug所在。在linux系統中,我們通常可以通過對系統進行一些配置,將上述的信息輸出到ELF文件中,即core文件。

coredump詳細介紹

core文件默認存儲位置與對應的可執行程序位于同一路徑下,文件名為core;具體信息可以通過如下命令查看:

cat /proc/sys/kernel/core_pattern

如果程序中調用了chdir函數,則core文件生成在chdir指定路徑下。另外,我們也可以通過相關設置設定core文件生成路徑。

在類unix系統中,core文件本身的主要格式也是ELF格式,因此可以使用readelf或者file命令查看core文件的具體信息。

coredump基本配置

調試coredump文件需要讀取相應符號信息,因此,編譯時需要加入-g選項。

系統資源限制,默認情況下,core文件大小限制為0,不會生成core文件,需要進行設置。命令如下:

ulimit -c unlimited (coredump文件大小不受限制)

進程資源限制,有時即使系統設置了unlimited,但是當前進程啟動時如果沒有讀取到,則仍然不會生成core文件。進程限制內容查看命令:

egrep "Units|core" /proc/<pid>/limits

使core文件添加pid信息

echo "1" > /proc/sys/kernel/core_uses_pid

配置core文件位置和文件名格式

echo "./core.%p.%e" > /proc/sys/kernel/core_pattern

生成的core文件與執行程序位于相同路徑,文件名為core.pid.execute_name

其他控制參數:

%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 添加命令名

檢查core目錄,core文件生成路徑所在磁盤空間是否為0,或者小于進程運行時所占的虛擬內存大小(通過top命令查看VIRT

檢查core目錄是否有寫權限

如果core文件沒有core全,檢查進程如下配置

cat /proc/<pid>/coredump_filter

00000003

echo "0xF" > /proc/<pid>/coredump_filter

原理如下:

(bit 0) anonymous private memory

(bit 1) anonymous shared memory

(bit 2) file-backed privated memory

(bit 3) file-backed shared memory

如果發現core文件不知道屬于哪個進程,執行如下命令:

strings core.6440 | head

參考資料

詳解coredump

總結

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

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