linux怎麼分析core檔案,如何檢視core檔案

2022-04-16 00:42:24 字數 2348 閱讀 8457

1樓:year醫海無邊

從接觸unix開始就一直聽到和遇到core dump,特別是剛學著使用c語言在aix下編寫程式的時候,core dump更是時不時就會不請自來。記得當時剛寫應用的時候,提交程式時最怕的就是在執行過程時遇到core dump,對於銀行核心系統,特別是使用靜態應用程序,如果一個相對頻繁一點的交易導致core dump,那麼毫無疑問,除了趕緊定位錯誤改程式外,重啟程序甚至無法爭取到多少緩衝的時間來進行**的更正和測試。而且往往導致core dump的,就是程式中一個小小的未注意到或者未測試到的一個疏忽。

雖然常常遇到core dump,不過很長時間內,都是出於知道這個名字,知道它導致的後果,知道一部分導致它出現的原因,其他的就都不甚了了了。說起來,就是自己太懶了,懶得看書......少壯不努力啊。

看過一則統計,說60歲以上的老人,超過70%都後悔少壯不努力,不知統計的資料能否反映整個社會的情況。不過總的來說,這句古話還是有些道理的。大家不要學我。

哈哈core dump,翻譯過來講,就是核心轉儲。大致上就是指,如果由於應用錯誤,如浮點異常、指令異常等,作業系統將會轉入核心的異常處理,向對應的程序傳送特定的訊號(signal),如果程序中沒有對這些訊號進行處理,就會轉入預設的處理,core dump就是其中的一種。如果程序core dump,系統將會終止該程序,同時系統會產生core檔案,以供除錯使用。

這個core檔案其實就是記憶體的映像,即程序執行的時候記憶體的內容,也就是所謂的core dump。平常大家說某某程序core dump了,其實主要的意思就是說:某某程序因為錯誤而被系統自動終止了。

aix上提供了dbx工具可以對core dump進行除錯,協助定位引起core dump的**。最普通的語法是:

dbx 應用名 core檔案, 然後使用where命令來顯示除錯資訊

一般來講,根據工作中遇到的情況,dbx還是能夠比較輕鬆的根據提示的內容來定位**的。不過也有一些特殊情況時,dbx顯示的除錯資訊過於模糊或者不直觀,這個時候就只能根據經驗來逐步定位了。有時定位起來會耗用相當長的時間。

遇到這種情況時,使用日誌檔案,通過在**中穿插多個寫log的語句,也可以協助發現。因為程序core dump時,日誌當然也中斷了,根據日誌在哪個**行之後或之前中止了,可以有效縮小尋找的範圍。甚至,在有些情況下,使用日誌定位是唯一簡便的方法了。

如何檢視core檔案

2樓:year醫海無邊

從接觸unix開始就一直聽到和遇到core dump,特別是剛學著使用c語言在aix下編寫程式的時候,core dump更是時不時就會不請自來。記得當時剛寫應用的時候,提交程式時最怕的就是在執行過程時遇到core dump,對於銀行核心系統,特別是使用靜態應用程序,如果一個相對頻繁一點的交易導致core dump,那麼毫無疑問,除了趕緊定位錯誤改程式外,重啟程序甚至無法爭取到多少緩衝的時間來進行**的更正和測試。而且往往導致core dump的,就是程式中一個小小的未注意到或者未測試到的一個疏忽。

雖然常常遇到core dump,不過很長時間內,都是出於知道這個名字,知道它導致的後果,知道一部分導致它出現的原因,其他的就都不甚了了了。說起來,就是自己太懶了,懶得看書......少壯不努力啊。

看過一則統計,說60歲以上的老人,超過70%都後悔少壯不努力,不知統計的資料能否反映整個社會的情況。不過總的來說,這句古話還是有些道理的。大家不要學我。

哈哈core dump,翻譯過來講,就是核心轉儲。大致上就是指,如果由於應用錯誤,如浮點異常、指令異常等,作業系統將會轉入核心的異常處理,向對應的程序傳送特定的訊號(signal),如果程序中沒有對這些訊號進行處理,就會轉入預設的處理,core dump就是其中的一種。如果程序core dump,系統將會終止該程序,同時系統會產生core檔案,以供除錯使用。

這個core檔案其實就是記憶體的映像,即程序執行的時候記憶體的內容,也就是所謂的core dump。平常大家說某某程序core dump了,其實主要的意思就是說:某某程序因為錯誤而被系統自動終止了。

aix上提供了dbx工具可以對core dump進行除錯,協助定位引起core dump的**。最普通的語法是:

dbx 應用名 core檔案, 然後使用where命令來顯示除錯資訊

一般來講,根據工作中遇到的情況,dbx還是能夠比較輕鬆的根據提示的內容來定位**的。不過也有一些特殊情況時,dbx顯示的除錯資訊過於模糊或者不直觀,這個時候就只能根據經驗來逐步定位了。有時定位起來會耗用相當長的時間。

遇到這種情況時,使用日誌檔案,通過在**中穿插多個寫log的語句,也可以協助發現。因為程序core dump時,日誌當然也中斷了,根據日誌在哪個**行之後或之前中止了,可以有效縮小尋找的範圍。甚至,在有些情況下,使用日誌定位是唯一簡便的方法了。

如何查詢和修改linux作業系統生成core dump檔案的預設路徑?

LINUX檔案系統問題,當LINUX檔案系統受到破壞時,如何檢查和修復系統?

不知道你這系統是做什麼用的,根裝置竟然佔用99 啟動異常肯定跟根裝置剩餘空間不足有關。建議刪除無用的東西。沒看到你的 fstab 內容,打出應該能夠告訴你怎麼辦。當linux檔案系統受到破壞時,如何檢查和修復系統?如果是ext3,因為是日誌檔案系統,自動修復 成功修復檔案系統的前提是要有兩個以上的主...

linux下怎麼使用RAR型別檔案

安裝方法 在命令列下 1 解壓壓縮包 先切換至壓縮包所在目錄 tar xzf rarlinux 3.7.0.tar.gz2 進入解壓出來的資料夾。3 以root身份執行 make install 即可。使用 如果有桌名環境,並有 檔案管理器 名稱不一定相同 則一般來說,裝完之後,rar檔案的右鍵選單...

linu怎麼檢視檔案許可權,linux怎麼檢視檔案許可權

檢視目錄或者檔案的相關許可權可以採用命令ls ld,或者直接用ls l。顯示的內容如下 10個字元確定不同使用者能對檔案幹什麼 第一個字元代表檔案 目錄 d 連結 l 其餘字元每3個一組 rwx 讀 r 寫 w 執行 x 第一組rwx 檔案所有者的許可權是讀 寫和執行 第二組rw 與檔案所有者同一組...