待整理-coredump
Linux下如何产生coredump(gdb调试用)
任务发生异常,需要记录遗言信息,利用gdb调试,因此需要记录coredump文件。
设置查看:
在root用户下执行sysctl -a | grep core,查看core文件的配置是否正确
命令设置:
1)使用命令 ulimit -c unlimited 设置coredump文件可以使用最大空间;
或去vi /etc/security/limits.conf修改
2)/proc/sys/kernal/core_pattern 可以设置coredump产生的路径和文件名格式。如果不修改,默认在程序执行目录下产生。
或使用命令修改:
sysctl -w kernel.core_pattern=/core/core.%e.%p
如果设置了上述两点,还是不能产生coredump,可能是以下原因:
1) 有些信号量默认是不产生coredump的,可以用 man signal 看一下。
2) 硬盘空间不够了,coredump需要占用很大的硬盘空间(上G的空间);
3) ulimit -c 命令只在当前terminal上有效,也就是程序启动的terminal设置该命令才有效。该命令无效,当然就不能产生coredump了。
segfault
段错误通常是由于解除引用一个未初始化或非法值的指针引起的。以发生频率为序,最终可能导致段错误的常见编程错误是:
1 、 坏指针错误 :在指针赋值之前就用它来引用内存;或者向库函数传递一个坏指针 ( 如果调试器显示系统程序中出现了段错误,很可能并不是系统程序引起的段错误,问题可能就出现在自己的代码中 ) ;或者指针被释放后还继续访问它的内容。
2 、 改写错误 :越过数组边界写入数据,在动态分配的内存空间以外写入数据,或改写一些堆管理数据结构 ( 在动态分配的内存之前的区域写入数据就很容易发生这种情况 ) 。
3 、 指针释放引起的错误 :释放同一块内存两次,或释放一块未曾使用 malloc 分类的内存,或释放一个无效的指针。一个极为常见的与释放内存有关的错误就是在 for(p=start;p;p=p->next) 这样的循环中迭代一个链表,并在循环体内使用 free(p) 这样的语句。这样,在下一次循环迭代时,程序就会对已经释放的指针进行解除引用操作,从而导致不可预料的结果。
bit2: 值为 1 表示是用户态程序内存访问越界,
值为 0 表示是内核态程序内存访问越界
bit1: 值为 1 表示是写操作导致内存访问越界,
值为 0 表示是读操作导致内存访问越界
bit0: 值为 1 表示没有足够的权限访问非法地址的内容,
值为 0 表示访问的非法地址根
待整理-coredump的更多相关文章
- 常用的shell命令整理
工作快一年了,shell命令也玩了一年了.还是有点积累的,下面是本人常用的. 1.pwd | xargs -i basename {} 获取当前所在目录的名称 2.ps -ef|grep -w ...
- dotNET跨平台相关文档整理
一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...
- UWP学习目录整理
UWP学习目录整理 0x00 可以忽略的废话 10月6号靠着半听半猜和文字直播的补充看完了微软的秋季新品发布会,信仰充值成功,对UWP的开发十分感兴趣,打算后面找时间学习一下.谁想到学习的欲望越来越强 ...
- SQL Server 常用内置函数(built-in)持续整理
本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- JAVA程序员常用软件整理下载
********为了大家学习方便,特意整理软件下载如下:*************Java类软件:-------------------------------JDK7.0:http://pan.ba ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- GJM : C#设计模式汇总整理——导航 【原创】
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- 整理下.net分布式系统架构的思路
最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...
随机推荐
- Instruments指南:如何调试内存泄露
Instruments指南:如何调试内存泄露 开篇 现在,你应该使用的ARC,而不是原来我们使用的MRC或者其他.但是我们在使用ARC的时候也会出现内存泄露的情况. 幸运的是,苹果为我们提供了Inst ...
- 我有一个 APP 创意,如何将其实现?
原文链接http://www.techweb.com.cn/business/2015-05-19/2154266_1.shtml 很多人总觉得找到程序猿..哦,是工程师,就可以了.可是你看,大部分 ...
- Java从零开始学四十四(多线程)
一.进程与线程 1.1.进程 进程是应用程序的执行实例. 进程是程序的一次动态执行过程,它经历了从代码加载.执行到执行完毕的一个完整过程,这个过程也是进程本身从产生.发展到最终消亡的过程 特征: 动态 ...
- Android Service使用拾遗[阿里工程师分享]
Service作为android的四大组件之一常用来帮助我们完成一些需要放在后台处理的任务,通过startService和bindService两种方式被调用.因为Service也是在主线程中运行的, ...
- HTTP/HTTPs要点
Http(超文本传输协议)是一个属于应用层的面向对象的协议. HTTP结构 HTTP请求: 请求行:Method-Request URI HTTP-Version(CRLF),eg:GET /form ...
- 监听spring加载完成后事件
有这个想法是在很早以前了,那时的我没有接触什么缓存技术,只知道hibernate有个二级缓存.没有用过memcache,也没有使用过redis. 只懂得将数据放到数组里或者集合里,一直不去销毁它(只有 ...
- Effective Java 60 Favor the use of standard exceptions
Benefits to reuse preexisting exceptions It makes your API easier to learn and use. Programs using y ...
- Post-office 树状数组
Post office 题目描述 There are N(N<=1000) villages along a straight road, numbered from 1 to N for si ...
- PHPDBG
一.简介 PHPDBG的是一个轻量级.强大.易用的PHP调试平台.可以在PHP5.4和之上版本中使用.在php5.6和之上版本将内部集成. 二.安装 PHP源码下载 http://php.net/gi ...
- Python的逻辑运算符and小析
近期突然对验证码的识别感兴趣了,然后就研究了一些图像识别和处理的资料,其中有一种图像处理是关于字体的细化和骨架提取的,但是这种算法没有现成的java代码实现,那些号称的java版代码多半都是效果很差或 ...