C语言段错误-core文件
目录
生成core文件
1. 添加生成core文件的准备
2. 修改配置文件
3. 重新执行一下,使能配置文件
core文件的解析
整体使用示例
1. 写一个最简单的段错误的文件(给空指针赋值)
2. 编译执行
3. gdb执行core文件
--end--
生成core文件
1. 添加生成core文件的准备
ulimit -SHc unlimited
ulimit -u unlimited
2. 修改配置文件
vi /etc/sysctl.conf
kernel.core_pattern = /tmp/core-%e-%p# 在文件的最后 添加上面这条命令,这条命令,是默认的保存位置,当前设置的保存位置是 /tmp/目录下
# 文件名为 core-命令名-pid# 如果不添加这个,产生的core文件,默认 会在执行可执行文件时 所在的目录下,文件名为 core
3. 重新执行一下,使能配置文件
sysctl -p /etc/sysctl.conf
core文件的解析
gdb <产生当前段错误的可执行文件> <产生的core文件>
进入gdb调试工具后
输入 bt
打印出来的就是 产生 段错误(核心已转储)的对应位置,及原因
整体使用示例
1. 写一个最简单的段错误的文件(给空指针赋值)
#include <stdio.h>int test()
{int *ptr = NULL;*ptr = 0;
}int main()
{test();return 0;
}
2. 编译执行
3. gdb执行core文件
3.1 core文件名称
-rw------- 1 root root 245760 Sep 4 12:38 core_a.out_212167
3.2 gdb执行(我把可执行文件拿过来了--这样看起来比较简洁)
gdb ./a.out core_a.out_212167
3.3 回车后具体显示如下
3.4 输出 bt 回车
根据 #0 能看出来 产生段错误的原因在 test() 函数中,所以可以直接去看一下 具体代码,分析产生的原因(或者添加打印一些调试信息)
--end--
C语言段错误-core文件相关推荐
- linux段错误core dumped,段错误 (core dumped) 之 core文件
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方.最常出现的,几乎所有C程序员都出现过的错误就是"段错误"了.也是最难查出问题原 ...
- [转] Linux C语言 段错误bug的调试
原来看过一次,后来当自己有段错误的时候,才想起来这个很有用.如果不用他的方法,段错误很恶心的,不好找出来的. 下面就是原文,不过 最初出处不得而知 ======================= 复制 ...
- linux内存不足+段错误,Linux系统内存错误产生的原因及调试方法(段错误|core dumped)[转]...
产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来 ...
- 005 Linux系统内存错误产生的原因及调试方法(段错误|core dumped)
Linux系统内存错误产生的原因及调试方法(段错误|core dumped)[转] Posted on 2008-09-05 14:52 猫头鹰 阅读(84) 评论(0) 编辑 收藏 引用 所属分类 ...
- php段错误coredumped,段错误 (core dumped)
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方.最常出现的,几乎所有C程序员都出现过的错误就是"段错误"了.也是最难查出问题原 ...
- mysql 段错误 (core dumped)_CentOS yum 段错误 (core dumped)解决办法
最近在装mysql时提示C++编译器版本太低,后来用yum install 和 yum update 都出现段错误并终止运行,搜了一下午的贴,第二天终于找到原因了,一般有两种: (第一种)我的yum ...
- mysql出现core dumped_mysql 段错误 (core dumped)
一直使用好好的mysql命令,突然今天抽风,无论使用任何mysql选项都报"段错误 (core dumped)",以为是mysqld程序出问题了,所以我尝试重启,因为我的环境上是多 ...
- php段错误coredumped,CentOS yum 段错误 (core dumped)解决方法
今天在yum install 或者yum update的时候都提示段错误(core dumped),然后终止运行了. 复制代码代码如下: [root@lee ~]# yum -y update Loa ...
- linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
** 什么是Segmentation fault? ** Segmentation fault就是段错误,一般指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保 ...
- c语言 段错误 指针,求教为什么指针动态申请了空间,scanf的时候还会段错误
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(1) { printf("是否要创建新一条学生信息?(y/n)\n"); scanf("%s",ch) ...
最新文章
- 坐标下降+随机梯度下降
- 金山吹响讨伐灰鸽子的号角
- 从零开始编写自己的C#框架(23)——上传组件使用说明
- [数据结构与算法] : 栈的链式实现
- react typescript 父组件调用子组件
- (译)SDL.NET Surfaces 相关介绍
- anaconda moviepy_Anaconda使用之安装篇(Windows)
- 跟着王道考研学计算机网络笔记(一):初步了解计算机网络
- 无线充电设计(一)-基本介绍
- 高低温试验箱的11点使用注意事项说明
- 实践出真知-神经网路篇-多任务学习
- 【BZOJ1135】【POI2009】Lyz
- 基于uniapp开发app,省市区联动
- IM在线客服系统_开源在线客服系统附源码
- fsw是什么意思_什么叫FSW焊接
- 理论力学(静力学)-4-平面力偶系
- 计算机网络中 冲突域、广播域
- 数据分析之Matplotlib和机器学习基础
- php7.1.9 mcrypt,PHP7.1中使用openssl替换mcrypt
- 【C语言】自定义类型(结构体、位段、枚举、联合体)与内存对齐
热门文章
- sap abap开发从入门到精通_给你的ABAP对象打上标签(Tag)
- python微信语音转发方法_微信语音转发最方便的方法,我现在才知道
- UCI数据集+机器学习+十折交叉验证
- android dazen root,Magisk作者再度出击,成功ROOT了Android 11
- 魔兽国服修改服务器地址,魔兽国服退役服务器上架暴雪官方商店
- 一级计算机选择题汇总,计算机一级考试选择题汇总.pdf
- c语言各种头文件函数解释,c语言头文件及其函数
- 联想y470上三代cpu_联想Y470笔记本i3处理器能换i5或者i7处理器嘛?
- 机器学习发展历史回顾
- ViewStub延迟加载