導航:首頁 > 文件教程 > core文件位置

core文件位置

發布時間:2025-05-15 22:53:19

① 如何查看core文件

在Unix系統下,應用程序崩潰,一般會產生core文件,如何根據core文件查找問題的所在,並做相應的分析和調試,是非常重要的,本文對此做簡單介紹。

例如,一個程序cmm_test_tool在運行的時候發生了錯誤,並生成了一個core文件,如下:

-rw-r–r– 1 root cmm_test_tool.c
-rw-r–r– 1 root
cmm_test_tool.o
-rwxr-xr-x 1 root cmm_test_tool
-rw--- 1 root
core.19344
-rw--- 1 root core.19351
-rw-r–r– 1 root
cmm_test_tool.cfg
-rw-r–r– 1 root cmm_test_tool.res
-rw-r–r– 1 root
cmm_test_tool.log
[root@AUTOTEST_SIM2 mam2cm]#

就可以利用命令gdb進行查找,參數一是應用程序的名稱,參數二是core文件,運行
gdb
cmm_test_tool core.19344結果如下:

[root@AUTOTEST_SIM2 mam2cm]# gdb cmm_test_tool core.19344
GNU gdb Red Hat
linux (5.2.1-4)
Copyright 2002 Free Software Foundation, Inc.
GDB is free
software, covered by the GNU General Public License, and you are
welcome to
change it and/or distribute copies of it under certain conditions.
Type 「show
ing」 to see the conditions.
There is absolutely no warranty for GDB. Type
「show warranty」 for details.
This GDB was configured as
「i386-redhat-linux」…
Core was generated by `./cmm_test_tool』.
Program
terminated with signal 11, Segmentation fault.
Reading symbols from
/lib/i686/libpthread.so.0…done.
Loaded symbols for
/lib/i686/libpthread.so.0
Reading symbols from
/lib/i686/libm.so.6…done.
Loaded symbols for /lib/i686/libm.so.6
Reading
symbols from /usr/lib/libz.so.1…done.
Loaded symbols for
/usr/lib/libz.so.1
Reading symbols from
/usr/lib/libstdc++.so.5…done.
Loaded symbols for
/usr/lib/libstdc++.so.5
Reading symbols from
/lib/i686/libc.so.6…done.
Loaded symbols for /lib/i686/libc.so.6
Reading
symbols from /lib/libgcc_s.so.1…done.
Loaded symbols for
/lib/libgcc_s.so.1
Reading symbols from /lib/ld-linux.so.2…done.
Loaded
symbols for /lib/ld-linux.so.2
Reading symbols from
/lib/libnss_files.so.2…done.
Loaded symbols for /lib/libnss_files.so.2
#0
0×4202cec1 in __strtoul_internal () from
/lib/i686/libc.so.6
(gdb)

進入gdb提示符,輸入where,找到錯誤發生的位置和堆棧,如下:

(gdb) where
#0 0×4202cec1 in __strtoul_internal () from
/lib/i686/libc.so.6
#1 0×4202d4e7 in strtoul () from
/lib/i686/libc.s

② 如何查詢和修改Linux操作系統生成core mp文件的默認路徑

經過分析發現系統默認的文件生成路徑是/var/logs,但/var/logs目錄並非系統自帶的,系統初始安裝默認自帶的是/var/log,最終導致該系統出現core mp後並沒能生成core文件,因此如何查詢和修改系統默認的core mp文件生產路徑呢?方法如下:一. 查詢core mp文件路徑: 方法1: # cat /proc/sys/kernel/core_pattern方法2: # /sbin/sysctl kernel.core_pattern二. 修改core mp文件路徑: 方法1:臨時修改:修改/proc/sys/kernel/core_pattern文件,但/proc目錄本身是動態載入的,每次系統重啟都會重新載入,因此這種方法只能作為臨時修改。 /proc/sys/kernel/core_pattern 例:echo 『/var/log/%e.core.%p』 > /proc/sys/kernel/core_pattern方法2:永久修改:使用sysctl -w name=value命令。 例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p為了更詳盡的記錄core mp當時的系統狀態,可通過以下參數來豐富core文件的命名: %% 單個%字元

閱讀全文

與core文件位置相關的資料

熱點內容
如何查銷量數據 瀏覽:302
編譯程序在程序設計中的作用 瀏覽:896
倉頡教程軟體 瀏覽:601
夢幻西遊編程是什麼 瀏覽:709
毛坦中學網站名叫什麼 瀏覽:131
hc05是哪個版本的 瀏覽:32
ipad愛奇藝緩存文件 瀏覽:620
網路攝像頭如何轉成USB介面 瀏覽:604
qq次元勇者怎麼得經驗 瀏覽:367
js打開word文件怎麼打開 瀏覽:503
ubuntu1204升級內核 瀏覽:370
jsp空格符號 瀏覽:727
車輪違章查詢app 瀏覽:927
手機qq2012版本331下載 瀏覽:215
紙質版投標文件由哪些組成 瀏覽:650
u盤傳輸不了超過5g的文件 瀏覽:523
支付寶網路異常怎麼辦 瀏覽:538
微信添加超鏈接代碼 瀏覽:629
ios顯示系統文件夾 瀏覽:647
微信如何更改實名認證信息 瀏覽:797

友情鏈接