Linux程式崩潰core使用(續)

2021-08-03 09:54:40 字數 675 閱讀 2459

linux檢視呼叫堆疊的資訊,只是需要更改linux設定,使程式崩潰時候產生core檔案。然後gdb除錯即可。

1產生core檔案方法

產生coredump的條件,首先需要確認當前會話的ulimit –c,若為0,則不會產生對應的coredump,需要進行修改和設定。

ulimit  -c unlimited  (可以產生coredump且不受大小限制),這種設定僅對當前生效,如果想永久生效

那麼需要在/etc/profile中加入以下一行,這將允許生成coredump檔案

ulimit-c unlimited 

2 更改core dump生成路徑

因為core dump缺省會生成在程式的工作目錄,但是有些程式存在切換目錄的情況,導致core dump生成的路徑沒有規律,

所以最好是自己建立乙個資料夾,存放生成的core檔案。

我建立乙個 /data/coredump 資料夾,在根目錄data裡的coredump資料夾。

呼叫如下命令

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

將更改core檔案生成路徑,自動放在這個/data/coredump資料夾裡。

%e表示程式名, %p表示程序id

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

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

Linux環境崩潰生成core檔案以及除錯

步驟很詳細具體,很有幫助,所以 windows環境崩潰問題可根據vs除錯工具檢視,linux同樣可以檢視呼叫堆疊的資訊,只是 需要更改linux設定,使程式崩潰時候產生core檔案。然後gdb除錯即可。1產生core檔案方法 產生coredump的條件,首先需要確認當前會話的ulimit c,若為0...

使用core檔案除錯程式

1 首先編譯程式,命令 gcc g text.c o text 這裡加上 g才能正常顯示出錯資訊。2 然後執行程式,命令 text 如果出錯會提示有段錯誤。3 一般出現錯誤,會在當前目錄產生乙個core.的檔案,如果沒有,你需要執行ulimit c檢視預設的core檔案大小,如果是0,則應該執行命令...