Ruby 1.9 Ramaze应用程序因“非法指令”而失败
我有一个应用程序,我试图在擦除我的系统和安装Snow Leopard后再次工作。 我从Macports安装了Ruby 1.9(现在是更高版本),开发服务器启动就好了,但是第一次请求就死了,只告诉我“非法指令”。 我不知道造成这种情况的原因甚至是如何进行调试。 有没有人有任何想法?
“非法指令”通常是来自CPU的错误消息,这意味着您尝试运行的某些二进制代码包含未在该特定CPU上实现的指令。
这可能有多种原因:
- 二进制文件是使用错误CPU的优化设置编译的。 CPU供应商一直在添加新的指令,如果编译器优化了比你的CPU更新的CPU,它可能会发出CPU无法理解的指令。
- 编译器坏了。
- 二进制文件已损坏。
- 您正在编译的代码包含汇编代码或包含CPU没有的指令的内在函数。
得到它了! 恰当地说,错误是由堆栈溢出引起的。