假设 C++ 代码中没有随机化,我列举了为什么分段错误会在不同运行的不同位置发生的原因。这种分段错误很难调试。在大多数情况下,它发生在分配大内存和系统内存不足的情况下。
问问题
281 次
1 回答
2
从这里
分段错误(通常缩写为 segfault)、总线错误或访问冲突通常是尝试访问 CPU 无法物理寻址的内存。当硬件通知操作系统有关内存访问冲突时,就会发生这种情况。作为响应,操作系统内核通常会执行一些纠正措施,例如向有问题的进程发送信号、终止它或使其转储内核。
所以,你肯定在你的代码中做了一些事情,因为它试图访问它不允许的内存。如果分段错误总是发生在同一个地方,生活会容易得多。
于 2013-10-23T16:50:11.400 回答