linux段错误的调试方法

相关博文:

http://blog.csdn.net/htianlong/article/details/7439030

http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html

http://www.cnblogs.com/panfeng412/archive/2011/10/24/2222413.html

http://hi.baidu.com/zmohadnaadbfntr/item/5732180d816c1d813c42e211

如下面的的程序就会产生段错误

cs.c

[cpp] view plaincopyprint?
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int *p = NULL;
  5. *p = 10;
  6. return 0;
  7. }

Makefile

[plain] view plaincopyprint?
  1. CFLAGS=-Wall
  2. CC=gcc
  3. cs:cs.o
  4. $(CC) cs.o -o cs
  5. cs.o:cs.c
  6. $(CC) -c -o cs.o cs.c
  7. clean:
  8. $(RM) *.o
  9. .PHONY:clean

执行命令

make

./cs

输出结果

调试方法:

  1. 切换到root用户     su root
  2. 执行 ulimit -a
  3. 执行 ulimit -c unlimited
  4. 更改Makefile文件   在-Wall后增加 -g
  5. 执行 make
  6. 执行 ./cs   目的 生成core文件
  7. 执行 gdb ./cs core
  8. 执行quit 退出gdb
  9. ctrl d 切换回普通用户

转载于:https://www.cnblogs.com/pengdonglin137/p/3241880.html

Linux的段错误调试方法相关推荐

  1. 几种Linux段错误调试方法

    一.产生段错误的原因 段错误就是指某一进程访问了不属于它权限范围的内存空间,比如:访问了不存在的内存,访问了受系统保护的内存,访问了只读的内存等.下面是一段会产生段错误的实例代码:main.c #in ...

  2. Linux下的段错误调试方法

    转自http://wenku.baidu.com/view/7416d23710661ed9ad51f33f.html 执行socket文件时,出现段错误 (core dumped) 产生段错误就是访 ...

  3. Linux内存不够调试,Linux系统内存错误调试方法

    而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由g ...

  4. Linux平台Segmentation fault(段错误)调试方法

    1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况. 2. 段错误的原因 段错 ...

  5. linux程序运行段错误,Linux下段错误调试技巧

    更新于2019.04.17 我们写的程序, 尤其是C/C++程序有时候会段错误, 而且往往发生在部署环境而非调试环境, 对问题定位带来很大困难. 这时一般有两种方法来解决问题, 一种是生成core d ...

  6. linux java 段错误的是,Linux下的段错误产生的原因及调试方法 转

    1楼 简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个 ...

  7. C程序查找段错误的方法

    在linux系统中我们写C语言应用程序经常会遇到让编译器不能找出来的错误,它一般在编译后显示为段错误,而段错误不像其它语法错误,编译器会自动提示你错误在哪一行,在这里就不详提出现段错误的原因有哪些,主 ...

  8. 段错误排查方法与防御性措施~

    什么是段错误 首先我们需要知道什么是段错误,才能对症下药. 段错误是一种在程序运行时发生的错误,通常是由于程序试图访问不在其地址空间范围内的内存引起的. 例如,当一个程序访问空指针或者已经被释放的内存 ...

  9. 安装linux子系统报错,详解win10电脑中安装linux子系统出现错误0x80070057方法

    现在很多的小伙伴在安装系统的时候都是选择安装双系统的操作的,那其实可以根据需求安装 Win10的系统还有linux系统的是很常见的开发用户的程序的选择,win10电脑就内置有linux子系统的,安装出 ...

  10. Linux下段错误以及调试方法

    1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于" ...

最新文章

  1. 函数式编程语言python-10分钟学会python函数式编程
  2. SpringMVC中注解的使用
  3. mysql float的缺点 (不适用于高精度数据)
  4. php7 pdo mysql_PHP7添加pdo_mysql扩展
  5. 上传文件ajax,ajax 文件上传
  6. 基于C#窗体的酒店管理系统
  7. MongodB数据库安装教程
  8. 阿里Android开发手册正式版一览
  9. 用 SpriteKit 做一个逃逸游戏 (2)
  10. CSS设置文本、段落样式
  11. 苹果宣布 2022 年 Apple 设计大奖得主
  12. (五)等度量映射(Isomap)
  13. 在GitHub Students Developer Pack申请DigitalOcean的50刀优惠码
  14. 2018年研究生数学建模竞赛B题(数模竞赛第二题思路)
  15. S3 Drive支持以及FIPS 140-2兼容性
  16. Android宠物领养救助系统app毕业设计
  17. 浏览器获取MAC地址
  18. 深度链接(Deeplink)是什么?
  19. 2019年地理信息产业大会(珠海)信息解读
  20. QCC304X/QCC514X DFU/OTA升级精讲

热门文章

  1. MongoDB基本管理命令 [转]
  2. 【转】Linux里如何查找文件内容
  3. Web开发:Apache2.2.x+Tomcat6.x+jk2.x做集群配置
  4. 下一代防火墙评测--网界
  5. 在Linux下轻松搭建自己的DNS服务器
  6. GDB+coredump定位段错误
  7. angular自带的一些api_Angular2.0正式版api使用漫谈
  8. docker 镜像注册【图文教程】
  9. jQuery操作属性的相关方法
  10. 【渝粤教育】电大中专电商运营实操 (12)作业 题库