欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux下如何生成coredump文件

 更新時(shí)間:2023年09月01日 15:02:32   作者:凌肖戰(zhàn)  
這篇文章主要介紹了Linux下如何生成coredump文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

coredump文件路徑

網(wǎng)上很多博文說到 coredump 文件默認(rèn)會在某個(gè)目錄下生成。

按照網(wǎng)上很多的說法,運(yùn)行程序就會生成 core 文件,一般生成路徑和可執(zhí)行程序是同一個(gè)路徑。

但是,我嘗試在 ubuntu 20.04 系統(tǒng)下,沒有生成 core 文件。

因此,需要查看 core 文件的生成路徑。

1.查看coredump文件生成路徑

查看 coredump 文件生成路徑的方法:輸入 cat /proc/sys/kernel/core_pattern 命令。

如下所示:

wangtian@wangtian-virtual-machine:~$ cat /proc/sys/kernel/core_pattern
/home/wangtian/coredump_file/core.%e-%p-%s

于是,我進(jìn)入上述的目錄下,并沒有找到 coredump 文件。

網(wǎng)上有網(wǎng)友博文中提到,說這是因?yàn)?ubuntu 系統(tǒng)默認(rèn)情況下,開啟了一種服務(wù)程序 apport.service。

自動生成崩潰報(bào)告,官方為了自動收集錯誤的。

2.更改coredump文件路徑

這時(shí),可以通過更改文件路徑的方法試試。

首先,創(chuàng)建一個(gè)文件路徑,我這里在 /home/wangtian/ 目錄下創(chuàng)建了文件夾 coredump_file。

其次,輸入 echo '/home/wangtian/coredump_file/core.%e-%p-%s' > /proc/sys/kernel/core_pattern 命令即可 更改 coredump 文件生成路徑(注意:這種更改為臨時(shí)更改方法)。

操作如下:

可以看出,更改路徑報(bào)出權(quán)限不夠。

這里因?yàn)槲覀冃薷牡?strong> core_pattern 文件是只讀文件,這樣修改文件路徑操作失敗。

3.關(guān)閉 apport.service服務(wù)

那么,我們換一種思路,即關(guān)閉 apport.service 服務(wù)(這個(gè)服務(wù)其實(shí)對我們來說,沒有很重要的作用)。

可以通過以下命令打開或關(guān)閉該服務(wù):

//啟用錯誤報(bào)告
sudo systemctl enable apport.service  //或
sudo service apport start
//關(guān)閉錯誤報(bào)告
sudo systemctl disable apport.service  //或
sudo service apport stop

我在ubuntu系統(tǒng)下,輸入 sudo systemctl disable apport.service 命令無法關(guān)閉服務(wù)。

可以輸入第二條命令 sudo service apport stop 命令來關(guān)閉 apport.service 服務(wù),

操作如下:

接下來以有一段測試代碼為例

代碼如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
    char buffer[3] = {0};
    printf("---main()\n");
    memcpy(buffer, "hello,world!", 12); 
    printf("---buffer: %s\n", buffer);
    return 0;
}

運(yùn)行程序(注意,程序編譯時(shí),必須加 -g 編譯選項(xiàng))

如下:

可以看到,在可執(zhí)行程序的目錄下,同時(shí),生成了 core 文件。

接下來可以通過對這個(gè)文件進(jìn)行分析來定位 bug 了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux下PhpMyAdmin程序目錄結(jié)構(gòu)的安全管理

    Linux下PhpMyAdmin程序目錄結(jié)構(gòu)的安全管理

    Linux下開發(fā)Web程序,現(xiàn)在很流行的開發(fā)方法為:用PHP開發(fā)Web程序,用Apache做Web Server,Mysql充當(dāng)后臺管理數(shù)據(jù)庫。
    2011-04-04
  • Linux系統(tǒng)命令中tree命令詳解

    Linux系統(tǒng)命令中tree命令詳解

    tree命令以樹狀圖列出文件目錄結(jié)構(gòu)。不過某些Linux上(Centos 6.4)沒有tree命令,下面這篇文章將先進(jìn)行介紹安裝方法,然后詳細(xì)介紹tree命令的使用,有需要的朋友們可以參考借鑒,下面跟著小編來一起看看吧。
    2016-12-12
  • 在Linux 命令行終端分屏的兩種工具

    在Linux 命令行終端分屏的兩種工具

    這篇文章主要介紹了在Linux 命令行終端分屏的兩種工具,這兩種工具分別是screen和tmux,本文逐一給大家介紹,需要的朋友可以參考下
    2018-09-09
  • linux的最大打開文件數(shù)限制修改方法

    linux的最大打開文件數(shù)限制修改方法

    這篇文章主要給大家介紹了關(guān)于linux最大打開文件數(shù)限制修改的方法,文中將實(shí)現(xiàn)的方法一步步介紹的非常詳細(xì),對同樣遇到這個(gè)需求的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • linux下php-fpm開啟關(guān)閉使用方法

    linux下php-fpm開啟關(guān)閉使用方法

    自php5.3.3開始,php源碼中包含了php-fpm,不需要單獨(dú)通過補(bǔ)丁的方式安裝php-fpm,在源碼安裝的時(shí)候直接 configure 中增加參數(shù) –enable-fpm即可,使用方法如下
    2014-03-03
  • linux進(jìn)程D狀態(tài)的解決思路分享

    linux進(jìn)程D狀態(tài)的解決思路分享

    在Linux系統(tǒng)中,進(jìn)程在內(nèi)核模式下等待I/O完成時(shí)會進(jìn)入不間斷睡眠狀態(tài)(D狀態(tài)),這種狀態(tài)下,進(jìn)程無法通過普通方式被殺死,本文通過實(shí)驗(yàn)?zāi)M了這種狀態(tài),并分析了如何使用`dmsetup`工具暫停和恢復(fù)LVM卷的IO操作,從而使得進(jìn)程從D狀態(tài)恢復(fù)到R狀態(tài)
    2025-02-02
  • Linux下如何生成coredump文件

    Linux下如何生成coredump文件

    這篇文章主要介紹了Linux下如何生成coredump文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Linux多路轉(zhuǎn)接之select函數(shù)使用方式

    Linux多路轉(zhuǎn)接之select函數(shù)使用方式

    這篇文章主要介紹了Linux多路轉(zhuǎn)接之select函數(shù)使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Linux下yum命令及軟件的安裝方式

    Linux下yum命令及軟件的安裝方式

    這篇文章主要介紹了Linux下yum命令及軟件的安裝方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • centos7 PHP環(huán)境搭建 GD庫 等插件安裝方法

    centos7 PHP環(huán)境搭建 GD庫 等插件安裝方法

    下面小編就為大家分享一篇centos7 PHP環(huán)境搭建 GD庫 等插件安裝方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論