`
ILoveDOUZHOU
  • 浏览: 81142 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Linux中段错误

 
阅读更多

转自于http://os.chinaunix.net/a2012/0130/1304/000001304535.shtml

1.什么是段错误?

  所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt 是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segmentatiON fault就出现了。

  通过上面的解释,段错误应该就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的。

  2.那什么操作会引起段错误呢?

  粗略的分一下类:

  1)往受到系统保护的内存地址写数据

  有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能任意访问。

  2)内存越界(数组越界,变量类型不一致等)

  3)其他

  例如:

  <1>定义了指针后记得初始化,在使用的时候记得判断是否为NULL

  <2>在使用数组的时候是否被初始化,数组下标是否越界,数组元素是否存在等

  <3>在变量处理的时候变量的格式控制是否合理等

  3.那么我们如何去发现程序中的段错误呢?

  通过学习前人的经验和开发的工具,不断的尝试和研究,找出更恰当的方法来避免、发现并处理它。对于一些常见的地方,我们可以避免,对于一些“隐藏”的地方,我们要发现它,发现以后就要及时处理,避免留下隐患。

  用gdb来调试,在运行到段错误的地方,会自动停下来并显示出错的行和行号,gdb也是最常用的,如果需要用gdb调试,记得在编译的时候加上-g参数

分享到:
评论

相关推荐

    Linux段错误.pdf

    通过上述内容,我们可以了解到Linux系统中段错误的相关知识,以及如何使用GDB进行调试、核心转储文件的管理,以及相关的系统安全和程序编译选项等。这些知识对于Linux系统下的软件开发和维护非常重要,可以帮助...

    qt 段错误 解决方案

    针对这些问题,以下是一些解决Qt中段错误的策略: 1. **调试工具**:使用GDB等调试器可以帮助定位段错误发生的具体位置,通过查看堆栈信息找出问题源。 2. **代码审查**:仔细检查代码,确保所有指针都被正确初始化...

    LINUX平台及应用中段试卷2.doc

    LINUX平台及应用中段试卷,这是我的复习资料。希望对学这门课的同学有帮助

    制浆中段废水污染特征研究

    莫立焕和陈克复的研究《制浆中段废水污染特征研究》聚焦于木浆和竹浆中段废水的污染特性,探讨了其生化处理性、色度、有机污染物的特性以及废水处理方法的现状和存在的问题。 研究中指出,制浆中段废水在生化处理...

    基于C语言中段错误的问题详解

    在Linux操作系统中,这种错误被称为"Segmentation Violation",它是由内存管理单元(Memory Management Unit, MMU)检测到的一种异常。本文将深入探讨导致段错误的原因、如何引发以及如何避免。 首先,段错误的根本...

    Linux内核同步机制

    也就是说,如果不加以适当的保护,中断完全有可能在代码访问共享资源的当中到来,这样,中段处理程序就有可能访问同一资源。 二、内核同步 内核同步避免并发和防止竞争条件被称为同步。同步是为了确保一次有且只有...

    基于linux程序中段的学习总结详解

    linux程序的段陆陆续续接触过一些,今天适当的总结一下,时间仓促,总结的比较零散。linux 段:text:已编译程序的机器代码。.rodata:只读数据。printf中的格式串,或者开关语句的跳转表。data:已初始化的全局变量...

    农村小学中段数学运算律及简便运算能力培养的实践研究报告课题结题报告.doc

    农村小学中段数学运算律及简便运算能力培养的实践研究报告课题结题报告 本报告旨在探讨农村小学中段数学运算律及简便运算能力培养的实践研究,旨在提高农村小学中年级学生的计算能力,解决农村小学中段数学运算律及...

    龙华城市建设投资发展有限公司清泉路中段施工组织设计方案.doc

    龙华城市建设投资发展有限公司清泉路中段施工组织设计方案.doc

    我国农村小学中段数学运算律与简便运算能力培养的实践研究课题结题报告.doc

    本资源是关于农村小学中段数学运算律及简便运算能力培养的实践研究课题结题报告。该报告旨在探讨小学中段数学运算律及简便运算能力培养的实践研究,旨在提高学生计算能力和解决问题能力。 第一,课题的提出: 小学...

    中段坐标.dat

    中段坐标.dat

    矿井提升机多中段控制的实现

    随着资源需求的不断增长以及矿产资源多层分布的复杂性,现代矿井开采逐渐转向多中段作业,即在不同的深度层面同时开展生产活动。这种变化对矿井提升机的控制技术提出了新的挑战。本文将探讨矿井提升机多中段控制的...

    下五年级中段考试题.pdf

    总的来说,这份五年级中段考试题涵盖了英语学习的基础模块,包括语音、词汇、语法、日常对话、日期时间表达、文化理解、听力理解等多个方面,旨在全面评估学生的英语综合能力。学生需要扎实的词汇基础,良好的听力...

    混凝法处理制浆中段废水的色度

    在处理制浆中段废水时,混凝法可以降低废水的色度、化学需氧量(CODcr)和悬浮固体(SS)等指标。 制浆中段废水指的是在制浆过程中,蒸煮和漂白等工序之间产生的废水,其中含有大量的深色物质,如木质素和氯化有机物,...

    DSP应用中段的概念讲解

    DSP应用中段的概念讲解 DSP 应用中段的概念讲解是 DSP 应用开发中非常重要的概念之一。了解 DSP 应用中段的概念对开发高质量的 DSP 应用程序至关重要。 一、COFF 格式 COFF(COMMON OBJECT FILE FORMAT)是一种...

    广东省2020届高三物理上学期中段考试试题(含解析).pdf

    广东省2020届高三物理上学期中段考试试题(含解析).pdf

    论文研究-基于离差最大化的导弹中段目标威胁度评估 .pdf

    论文研究-基于离差最大化的导弹中段目标威胁度评估 .pdf,

    安庆铜矿开拓工程多井多中段贯通测量

    安庆铜矿开拓工程涉及到多井多中段的贯通测量,这是矿山工程中一项非常复杂且技术要求高的测量工作。本文通过具体的工程实例,详细介绍了在复杂条件下,如何进行有效的贯通测量工作,并且讨论了贯通测量方案的可行性...

Global site tag (gtag.js) - Google Analytics