void dummy_function (void)
{
  unsigned char *ptr = 0x00;
  *ptr = 0x00;
}

int main (void)
{
  dummy_function ();
  return 0;
}

1.core文件的生成开关和大小限制

uname -a 查看机器参数
ulimit -a  查看默认的一些参数,注意core file size是个0,程序出错时不会产生core文件了。

修改ulimit的设置,让它产生。

ulimit -c 1024  设置core文件大小为1024。要是core文件大于1024个块,就产生不出来了。

ulimit -c unlimit 设置core文件大小为无限

ulimit -c 0 阻止core文件生成

以上配置只对当前会话起作用,下次重新登陆后,还是得重新配置。要想配置永久生效,得在/etc/profile或者/etc/security/limits.conf文件中进行配置。

首先以root权限登陆,然后打开/etc/security/limits.conf文件,进行配置:
#vim /etc/security/limits.conf
增加一行
* soft core unlimited

或者在/etc/profile中作如下配置:
#vim /etc/profile
ulimit -S -c unlimited >/dev/null 2>&1

或者想配置只针对某一用户有效,则修改此用户的~/.bashrc或者~/.bash_profile文件:
limit -c unlimited

2、core文件的名称和生成路径

core的位置默认为 跟可执行文件是同一路径下面。若系统生成的core文件不带其它任何扩展名称,则全部命名为core。新的core文件生成将覆盖原来的core文件。

1)/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。
可通过以下命令修改此文件:
echo "1" > /proc/sys/kernel/core_uses_pid

生成的core文件的名称格式: core.5532

2)proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式。

core_pattern文件的内容默认是:   |/usr/share/apport/apport %p %s %c
可通过以下命令修改此文件:
echo "/corefile/core-%e-%p-%t" > core_pattern,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
    %p - insert pid into filename 添加pid
    %u - insert current uid into filename 添加当前uid
    %g - insert current gid into filename 添加当前gid
    %s - insert signal that caused the coredump into the filename 添加导致产生core的信号
    %t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
    %h - insert hostname where the coredump happened into filename 添加主机名
    %e - insert coredumping executable name into filename 添加命令名

生成的core文件名格式:core-main-5557-1476784275 (这时,core_uses_pid中的配置对core文件名的格式无效了?)

设置core环境的更多相关文章

  1. Linux学习之十--.Net Core环境搭建以及Nginx的搭建

    一.Centos7下.Net Core 环境安装: 链接:https://www.microsoft.com/net/core#linuxcentos 按照步骤来: yum install libun ...

  2. NET Core 环境搭建和命令行CLI入门

    NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...

  3. .Net Core 环境下构建强大且易用的规则引擎

    本文源码: https://github.com/jonechenug/ZHS.Nrules.Sample 1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满 ...

  4. net core体系-web应用程序-4net core2.0大白话带你入门-5asp.net core环境变量详解

    asp.net core环境变量详解   环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的 ...

  5. 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列)

    原文链接:http://www.entityframeworktutorial.net/code-first/setup-entity-framework-code-first-environment ...

  6. NET Core 环境搭建和命令行CLI入门[转]

      NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19      阅读:258      评论:0      收藏:0      [点我收藏+]   标签: N ...

  7. 在linux平台下,设置core dump文件属性(位置,大小,文件名等)

    在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c un ...

  8. .NET Core 环境变量详解

    一.概述 软件从开发到正式上线,在这个过程中我们会分为多个阶段,通常会有开发.测试.以及上线等.每个阶段对应的环境参数配置我们会使用不同的参数.比如数据库的连接字符串,开发环境一般我们都是连接的测试库 ...

  9. 【转】asp.net core环境变量详解

    asp.net core环境变量详解 环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境 ...

随机推荐

  1. Ubuntu下VIM的安装及其配置——Linux篇

    一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...

  2. IOS第八天(3:UITableViewController团购, 点击底部代码调整)

    ****代理者的方法中 // 通知页脚视图调整视图显示状态 [footerView endRefresh]; //发送代理通知的类中 /** 视图控制器刷新完成调用方法 */ - (void)endR ...

  3. Oracle-01033错误处理

    今天电脑非常卡,强制重启后,发现oracle 11g启动不了了,提示错误: ERROR - ORA-01033 oracle initialization or shutdown in progres ...

  4. hibernate学习(1)——helloworld

    1. 框架体系结构 2. hibernate入门 2.1 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relationa ...

  5. c语言中的指针问题

    “*”符号的作用在C语言中有两种: 1.声明该变量是指针,例如:int * p;//表示声明一个int类型的指针,变量名为p 2.在指针运算时,表示取这个地址上的内容,例如  temp = *p;// ...

  6. play for scala 实现SessionFilter 过滤未登录用户跳转到登录页面

    一.编写SessionFilter.scala代码 package filters import javax.inject.{Inject, Singleton} import akka.stream ...

  7. JavaScript 代码 优化笔记

    1. 判断某个元素是否在数组中. setCheckNodes : function (zNodes, checkIds){ var that = this; that.setAllNodesUnche ...

  8. JS的基础知识

    前言:写前端代码时的各种取值纠结,让我决定我必须要好好学一下js............加油~ $("#tr"+id).remove() 删除某一行,而不用刷新页面 HightCh ...

  9. oracle从零开始学习笔记

    查询现有数据库:select name from V$database; 解锁用户scott:alter user scott account unlock; 普通用户连接:conn scott 默认 ...

  10. html中嵌入天气预报

    先看效果: html代码: <div id="weather"></div> js代码: function findWeather() { var city ...