不同运行不同位置分段故障的原因

Reasons for segmentation fault at different places in different run

本文关键字:分段 运行 位置 故障      更新时间:2023-10-16

我列举了为什么分段错误会在不同运行的不同位置发生的原因,假设C++代码中没有随机化。这种分段错误很难调试。在大多数情况下,它发生在分配大内存和系统耗尽内存时。

从这里开始

分段错误(通常缩写为段错误)、总线错误或访问冲突通常是尝试访问 CPU 无法物理寻址的内存。当硬件通知操作系统内存访问冲突时,会发生这种情况。作为响应,操作系统内核通常会执行一些纠正措施,例如向违规进程发送信号、终止信号或使其转储核心。

因此,您肯定在代码中执行某些操作,因此它正在尝试访问不允许的内存。如果分割错误总是发生在同一个地方,生活会容易得多。