YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← 02-34 史上第一昂贵的bug

Get Embed Code
4 Languages

Showing Revision 2 created 06/24/2014 by Fran Ontanaya.

  1. 你可能听说过Ariane 5号火箭吧,它在第一次发射时爆炸了,
  2. 就是因为软件问题,造成了史上最昂贵的软件bug。
  3. 你知道它为什么爆炸吗?
  4. 就是因为它在从64位int转到16位int时有bug。
  5. 这件有趣(有趣?)的事说明了,尽管
  6. 代码确实有多道的检查,可以防止不合法的转换。
  7. 但这些检查因为性能的原因,在Ariane 5号上没激活使用。
  8. 注意这个后果,如果Ariane 5号上的计算机
  9. 牺牲小点性能来进行这个检查,检查64位
  10. 到16位的整型转换的话,断言就能在发射过程中触发,
  11. Ariane 5号又有着一个良好的失败断言恢复机制。
  12. 那它本来就可以恢复,而这次飞行可能就一切顺利,
  13. 我们就能避免史上最昂贵的软件bug了。
  14. 就因为缺少一个断言,3.17亿美元就这么打了水漂。