的文件名:無法改變我做了以下修改核心轉儲文件
編輯的文件
/etc/security/limits.conf
,使核心文件大小爲「無限」。使用顯示爲'unlimited'的命令#ulimit -c
對其進行驗證。所附文件
/etc/sysctl.conf
按照以下:
$gcc -g pointer.c -o pointeraccess
結果-編譯成功:
kernel.core_uses_pid = 1
kernel.core_pattern = /tmp/%e.core.%p
fs.suid_dumpable = 2
使用sysctl -p
編譯如下文件保存的更改
執行。在GDB如下文件:
$gdb pointeraccess
得到一個算術異常後,將其輸出如下:
(GDB)運行
啓動程序:/media/anand/d258641a-8cc6-4fcf-96e4-
ce7a147cb34e/Imp ortant /調試工作區/ pointeraccess
編程接收信號SIGFPE,算術異常。
在pointeraccess.c主()0x08048477:13
13 I = I/0;
(GDB)的gcore
保存核心文件core.1880
我的問題是:爲什麼文件名是core.pid
,而不是program_name.core.pid
?
因爲它的gdb保存核心文件在你的情況下,而不是操作系統。請參閱gdb中的'help gcore'。 – mfro
@mfro感謝您的理由和建議。但是,如何根據需要製作核心文件名?即** program_name。core.pid ** –
你試過我的建議嗎?它會告訴你。 – mfro