linux下使用者態程式coredump生成方法

2021-09-26 07:41:37 字數 675 閱讀 2971

總結:1.開啟coredump開關

登陸 linux 伺服器,任意位置鍵入

echo "ulimit -c 1024" >> /etc/profile(1024 限制產生的 core 檔案的大小不能超過 1024kb,可以使用引數unlimited,取消該限制)

退出 linux 重新登陸 linux

鍵入 ulimit -c,如果顯示 1024 那麼說明 coredump 已經被開啟。

2.設定 core dump 的核心轉儲檔案目錄和命名規則

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

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

解析:/proc/sys/kernel/core_uses_pid 可以控制產生的 core 檔案的檔名中是否新增 pid 作為擴充套件 ,如果新增則檔案內容為 1 ,否則為 0。

proc/sys/kernel/core_pattern 可以設定格式化的 core 檔案儲存位置或檔名 ,比如原來檔案內容是 core-%e

3.帶g編譯問題程式  

gcc -o main -g a.c

4.gdb除錯

gdb main /tmp/core-main-10815 

linux下 c程式崩潰時產生core檔案的設定

c程式執行崩潰時,如果能夠自動產生core檔案,會對問題的分析和定位有一定的幫助,但是需要一定的設定才可以開啟該選項 如果程式本身有問題,在崩潰時,可能會產生core檔案 注意 不是一定會產生的 產生的core檔案預設是在執行檔案的目錄下,但也可以指定 修改 etc security limits....

linux核心態使用者態

概述 linux系統使用者態和核心態相關知識,linux核心版本為3.10.79。使用者態和核心態定義 核心態 cpu可以訪問記憶體所有資源,包括外圍裝置.可以進行處理器工作模式切換,程式的切換。使用者態 只能受限的訪問記憶體,且不允許訪問外圍裝置,不可以進行處理器模式切換。為什麼分使用者態和核心態...

linux的使用者態程式棧的跟蹤方法

將下面的 儲存為main.c檔案,然後用gcc編譯 include include include obtain a backtrace and print it to stdout.void print trace void a dummy function to make the backtra...