Linux的段错误调试方法
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
- #include <stdio.h>
- int main(void)
- {
- int *p = NULL;
- *p = 10;
- return 0;
- }
Makefile
- CFLAGS=-Wall
- CC=gcc
- cs:cs.o
- $(CC) cs.o -o cs
- cs.o:cs.c
- $(CC) -c -o cs.o cs.c
- clean:
- $(RM) *.o
- .PHONY:clean
执行命令
make
./cs
输出结果
调试方法:
- 切换到root用户 su root
- 执行 ulimit -a
- 执行 ulimit -c unlimited
- 更改Makefile文件 在-Wall后增加 -g
- 执行 make
- 执行 ./cs 目的 生成core文件
- 执行 gdb ./cs core
- 执行quit 退出gdb
- ctrl d 切换回普通用户
转载于:https://www.cnblogs.com/pengdonglin137/p/3241880.html
Linux的段错误调试方法相关推荐
- 几种Linux段错误调试方法
一.产生段错误的原因 段错误就是指某一进程访问了不属于它权限范围的内存空间,比如:访问了不存在的内存,访问了受系统保护的内存,访问了只读的内存等.下面是一段会产生段错误的实例代码:main.c #in ...
- Linux下的段错误调试方法
转自http://wenku.baidu.com/view/7416d23710661ed9ad51f33f.html 执行socket文件时,出现段错误 (core dumped) 产生段错误就是访 ...
- Linux内存不够调试,Linux系统内存错误调试方法
而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由g ...
- Linux平台Segmentation fault(段错误)调试方法
1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况. 2. 段错误的原因 段错 ...
- linux程序运行段错误,Linux下段错误调试技巧
更新于2019.04.17 我们写的程序, 尤其是C/C++程序有时候会段错误, 而且往往发生在部署环境而非调试环境, 对问题定位带来很大困难. 这时一般有两种方法来解决问题, 一种是生成core d ...
- linux java 段错误的是,Linux下的段错误产生的原因及调试方法 转
1楼 简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个 ...
- C程序查找段错误的方法
在linux系统中我们写C语言应用程序经常会遇到让编译器不能找出来的错误,它一般在编译后显示为段错误,而段错误不像其它语法错误,编译器会自动提示你错误在哪一行,在这里就不详提出现段错误的原因有哪些,主 ...
- 段错误排查方法与防御性措施~
什么是段错误 首先我们需要知道什么是段错误,才能对症下药. 段错误是一种在程序运行时发生的错误,通常是由于程序试图访问不在其地址空间范围内的内存引起的. 例如,当一个程序访问空指针或者已经被释放的内存 ...
- 安装linux子系统报错,详解win10电脑中安装linux子系统出现错误0x80070057方法
现在很多的小伙伴在安装系统的时候都是选择安装双系统的操作的,那其实可以根据需求安装 Win10的系统还有linux系统的是很常见的开发用户的程序的选择,win10电脑就内置有linux子系统的,安装出 ...
- Linux下段错误以及调试方法
1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个对于" ...
最新文章
- 函数式编程语言python-10分钟学会python函数式编程
- SpringMVC中注解的使用
- mysql float的缺点 (不适用于高精度数据)
- php7 pdo mysql_PHP7添加pdo_mysql扩展
- 上传文件ajax,ajax 文件上传
- 基于C#窗体的酒店管理系统
- MongodB数据库安装教程
- 阿里Android开发手册正式版一览
- 用 SpriteKit 做一个逃逸游戏 (2)
- CSS设置文本、段落样式
- 苹果宣布 2022 年 Apple 设计大奖得主
- (五)等度量映射(Isomap)
- 在GitHub Students Developer Pack申请DigitalOcean的50刀优惠码
- 2018年研究生数学建模竞赛B题(数模竞赛第二题思路)
- S3 Drive支持以及FIPS 140-2兼容性
- Android宠物领养救助系统app毕业设计
- 浏览器获取MAC地址
- 深度链接(Deeplink)是什么?
- 2019年地理信息产业大会(珠海)信息解读
- QCC304X/QCC514X DFU/OTA升级精讲
热门文章
- MongoDB基本管理命令 [转]
- 【转】Linux里如何查找文件内容
- Web开发:Apache2.2.x+Tomcat6.x+jk2.x做集群配置
- 下一代防火墙评测--网界
- 在Linux下轻松搭建自己的DNS服务器
- GDB+coredump定位段错误
- angular自带的一些api_Angular2.0正式版api使用漫谈
- docker 镜像注册【图文教程】
- jQuery操作属性的相关方法
- 【渝粤教育】电大中专电商运营实操 (12)作业 题库