linux下用core和gdb查询出现"段错误"的地方
来源:互联网 发布:软件公寓什么时候预约 编辑:程序博客网 时间:2024/05/23 00:03
有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误"。
呵呵,这种问题我想很多人会经常遇到。遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。下面介绍一种方法,可以有效的定位出现"段错误的地方"。
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。
什么是core dump?
core的意思是内存,dump的意思是扔出来,堆出来。
为什么没有core文件生成呢?
有时候程序down了,但是core文件却没有生成.core文件的生成跟你当前系统的环境设置有关系,可以用下面的语句设置一下便生成core文件了
ulimit -c unlimited
core 文件生成的位置一般于运行程序的路径相同,在ubuntu下文件名一般 为core.
什么是core文件
当一个程序奔溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映像(同时加上调试信息),主要用来调试的。
下面我们来看看,怎样利用core文件来定位我们出现"段错误"的地方.
程序运行结果:
程序运行结果:
从上面我们可以看出,第一次运行程序出现"段错误"并没有出现core文件,一般linux操作系统默认core文件的大小都是0,需要手动设置一下。
调试core文件
core文件是个二进制文件,需要用相应的工具来分析程序崩溃时的内存映像。
linux下可以用gdb来调试core文件 。
从上面我们可以清楚的看到我们的程序是在那个地方出现了错误。
呵呵,有了这种方法,我想以后我们可以不再那么惧怕"段错误"了。
阅读全文
0 0
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"的地方
- linux下用core和gdb查询出现"段错误"
- linux下使用core文件和gdb查找段错误的基本步骤
- Linux下段错误的查询方法
- Linux下调试段错误的方法[Segmentation Fault]--GDB
- linux下 用GDB调试C语言段错误
- 在Linux系统下,如果程序中出现segment fault,如何可以让系统产生core dump文件?如何用gdb来跟踪出错的地方?
- 使用gdb和core dump迅速定位段错误
- 使用gdb和core dump迅速定位段错误
- 使用gdb和core dump迅速定位段错误
- 【转】使用gdb和core dump迅速定位段错误
- C语言gdb分析段错误的core文件
- linux下运行程序后出现段错误的原因和解决案例
- Centos 配置静态IP
- Spring boot 中filter注入bean
- Vue-组件
- mysql常用命令
- 读《漫画测量》,知晓工程测量
- linux下用core和gdb查询出现"段错误"的地方
- PHP 10个常见面试题及答案
- 将日志配置文件的error级别改为debug级别, cpu瞬间飙升!
- 数据库设计
- java界面的表格
- 详解设计模式在Spring中的应用
- Java环境变量jdk安装及配置
- kotlin学习day4:类和函数的使用
- 查看mysql数据库及数据表编码格式