段错误
我们在环境下编程中,有时执行编译好的文件时会出现段错误(吐核),这是经常出现的一个错误。
这里就出现了如开头第一张图中所示的段错误(吐核)
吐核:吐出了一个“核心转储文件”(文件)
??
??程序确认出现错误时的“临终遗言” 写入核心转储文件,也是使用调试器最常用到的场景
- 红色方框中显示了在文件中的中第行对应的这句代码有问题,导致程序异常终止,因为空指针不能解引用。
- 蓝色方框是一个比较重要的概念,11 信 ,它是段错误()的典型图腾。
● 通过指令更改为大小为无限制
我们再执行,再次吐核。
之后 就会出现文件,数字后缀不同机器会不一样,这个不用在意。这个就是核心转储文件,我们成功通过操作查看到了。
调用情况
那么这错误的第6行代码到底是怎么执行的r> ??可以通过指令查看函数调用栈:
??
![[Linux] 什么是 段错误(吐核)?](https://www.iruanshi.com/tt5/wp-content/uploads/2022/12/slt.png)
所以是因为函数调用函数再调用函数,就在第6行出现了错误。这就是它的调用情况。
小结
其实段错误就是:
硬件设备发现访问了一个非法的虚拟地址,通知操作系统内核给进程发送11 信 ,进程收到了一个11 信 ,导致进程异常终止。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8966 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!