这是一个奇怪的问题,但每月发生一到五次。
在开发过程中,我经常编译(这不是不寻常的部分。)有时,运行新编译的二进制文件会锁定我的系统。托盘时钟不增加,ctrl + alt + backspace不会杀死Xorg。完全焦虑。
我对机器进行了物理循环,一切都没问题。应用程序运行正常,从早先或在无变更重新编译之后谋杀我的机器的相同二进制文件,我继续我的工作。
但它仍然困扰着我,很大程度上是因为我不知道是什么导致它。使用Clang或GCC编译的二进制文件可能会发生这种情况。发生了什么事?
答案 0 :(得分:1)
很难说,但我有两个想法:
1)内存不好 这是可能的,但根据您的代码,#2可能更有可能。
2)缓冲区溢出错误 如果由于代码中的错误而覆盖内存,则可能会在内存中放入一些恰好是汇编指令的位。我会仔细查看你必须看到的代码,在你写它们之前不要检查数组长度。