Ruby 1.9 Ramaze应用程序因“非法指令”而失败

我有一个应用程序,我试图在擦除我的系统和安装Snow Leopard后再次工作。 我从Macports安装了Ruby 1.9(现在是更高版本),开发服务器启动就好了,但是第一次请求就死了,只告诉我“非法指令”。 我不知道造成这种情况的原因甚至是如何进行调试。 有没有人有任何想法?

“非法指令”通常是来自CPU的错误消息,这意味着您尝试运行的某些二进制代码包含未在该特定CPU上实现的指令。

这可能有多种原因:

  • 二进制文件是使用错误CPU的优化设置编译的。 CPU供应商一直在添加新的指令,如果编译器优化了比你的CPU更新的CPU,它可能会发出CPU无法理解的指令。
  • 编译器坏了。
  • 二进制文件已损坏。
  • 您正在编译的代码包含汇编代码或包含CPU没有的指令的内在函数。

得到它了! 恰当地说,错误是由堆栈溢出引起的。