全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是core dumpcore dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump。 (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segment fault(段错误)这样的错误。这种看起来比较困难,因为没有任何的栈、trace信息输出。该种类型的错误往往与指针操作相关。往往可以通过这样的方式进行定位。造成segment fault,产生core dump的可能原因1、内存访问越界a) 由于使用错误的下标,导致数组访问越界b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符c) 使用strcpy, strcat, sprintf, strcmp, strcasecmp等字符串操作函数,将目标字符串读/写爆。应该使用strncpy, strlcpy, strncat, strlcat, snprintf, strncmp, strncasecmp等函数防止读写越界。2、 多线程程序使用了线程不安全的函数。3、 多线程读写的数据未加锁保护。对于会被多个线程同时访问的全局数据,应该注意加锁保护,否则很容易造成core dump4、 非法指针a) 使用空指针b) 随意使用指针转换。一个指向一段内存的指针,除非确定这段内存原先就分配为某种结构或类型,或者这种结构或类型的数组,否则不要将它转换为这种结构或类型的指针,而应该将这段内存拷贝到一个这种结构或类型中,再访问这个结构或类型。这是因为如果这段内存的开始地址不是按照这种结构或类型对齐的,那么访问它 时就很容易因为bus error而core dump.5、 堆栈溢出不要使用大的局部变量(因为局部变量都分配在栈上),这样容易造成堆栈溢出,破坏系统的栈和堆结构,导致出现莫名其妙的错误。配置操作系统使其产生core文件首先通过ulimit命令查看一下系统是否配置支持了dump core的功能。通过ulimit -c或ulimit -a,可以查看core file大小的配置情况,如果为0,则表示系统关闭了dump core。可以通过ulimit -c unlimited来打开。若发生了段错误,但没有core dump,是由于系统禁止core文件的生成。解决方法:$ulimit -c unlimited(只对当前shell进程有效)或在/.bashrc的最后加入: ulimit -c unlimited (一劳永逸)# ulimit -c0$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedfile size (blocks, -f) unlimited用gdb查看core文件发生core dump之后, 用gdb进行查看core文件的内容, 以定位文件中引发core
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆市南岸区铜元局街道公益性岗位招聘2人笔试考试备考题库及答案解析
- 南城县2025年公开招聘城市社区工作者(专职网格员)备考题库【53人】及完整答案详解一套
- 2025浙江广播电视集团控股上市公司招聘3人备考考点试题及答案解析
- 2025山东滨州无棣县招录社区工作者25人备考题库及答案详解(易错题)
- 2025年榆树市公开招聘社区工作者备考题库(59人)含答案详解(考试直接用)
- 2025河南郑州十一中教育集团郑东校区(86中)招聘备考考点题库及答案解析
- 2025甘肃庆阳市宁县面向社会补充招聘政府专职消防员招录参考考点题库及答案解析
- 2025年喀喇沁左翼蒙古族自治县面向社会公开招聘社区专职工作者15人备考题库及1套完整答案详解
- 2025重庆市长寿区晏家街道办事处公益性岗位招聘5人备考题库含答案详解(培优)
- 2026建信期货有限责任公司校园招聘9人备考题库及1套参考答案详解
- 产业经济学(苏东坡版)课后习题及答案
- 雨污水管网排查工作报告
- T/CECS 10227-2022绿色建材评价屋面绿化材料
- 区域医学检验中心项目建设方案
- 包装打包员技能培训课件
- DBJ52-T119-2025 《湿拌砂浆应用技术规程》
- 世界著名画作赏析与解读
- 初中数学教学随笔10篇
- 超星尔雅学习通《明史十讲(复旦大学)》2025章节测试附答案
- 术中压力性损伤预防团体标准深度解读
- 机械伤害的安全培训课件
评论
0/150
提交评论