0

这是一个奇怪的问题,但每月会发生一到五次。

在开发过程中,我经常编译(这不是不寻常的部分。)有时,运行新编译的二进制文件会锁定我的系统。托盘时钟不会增加,ctrl+alt+backspace 不会杀死 Xorg。彻底崩溃了。

我对机器进行了物理重启,一切正常。应用程序运行良好,来自之前或在无更改重新编译后谋杀我的机器的同一个二进制文件,我继续我的工作。

但它仍然困扰着我,主要是因为我不知道是什么原因造成的。这可能发生在使用 Clang 或 GCC 编译的二进制文件中。到底是怎么回事?

4

1 回答 1

1

很难说,但我有两个想法:

1) 坏 RAM 这是可能的,但根据您的代码,#2 可能更有可能。

2) 缓冲区溢出错误 如果由于代码中的错误而覆盖内存,则可能会将一些恰好也是汇编指令的位放入内存中。我会非常仔细地查看您必须查看的代码,以便在写入之前不检查数组长度。

于 2013-11-11T22:47:51.840 回答