Linux开启coredump功能
Linux离调试之coredump功能开启
·
一. coredump功能介绍
1. coredump功能原理
当程序发生内存越界访问等行为时,会触发 OS 的保护机制,此时, OS 会产生一个信号(signal)发送给对应的进程。当进程从内核态到用户态切换时,该进程会处理这个信号。此类信号(比如SEGV)的默认处理行为生成一个 coredump 文件。
2. 可产生 coredump 文件的信号
以下表格中信号也会产生 coredump 文件,补充说明如下:
二. 开启 coredump 功能
这里使用永久开启 coredump 功能的方法,即更改
/etc/security/limits.conf 文件中的内容。
Linux系统开启 coredump 功能,操作如下:
去掉 soft core 0 一行前面的注释 ,同时,将 0 改为 unlimited 或 某个数值(如 204800)。如下所示:
wangtian@wangtian-virtual-machine:~$ sudo gedit /etc/security/limits.conf
更改 limits.conf 文件中内容,如下:
验证是否开启:终端输入 ulimit -c 命令。如下所示:
wangtian@wangtian-virtual-machine:~$ ulimit -c
204800
可以看出,已经开启 coredump 功能。
更多推荐
已为社区贡献6条内容
所有评论(0)