【问题标题】:Ruby 1.9 Ramaze App Failing with "Illegal instruction"Ruby 1.9 Ramaze App 因“非法指令”而失败
【发布时间】:2010-04-20 04:00:04
【问题描述】:

我有一个应用程序,在擦除我的系统并安装 Snow Leopard 后,我正试图重新开始工作。我从 Macports(现在是更高版本)安装了 Ruby 1.9,开发服务器启动得很好,但在第一次请求时就死了,只告诉我“非法指令”。我不知道是什么原因造成的,甚至不知道如何调试它。有人有什么想法吗?

【问题讨论】:

  • 你能发布代码吗?您是否尝试过其他 Ruby(使用 RVM)?
  • 我已经尝试在我的服务器上安装确切的补丁级别(并且运行良好),但即使这样也崩溃了。我什至尝试运行相同版本的 Ramaze;没有骰子。一定是编译方式有问题,但我想不通。

标签: ruby ruby-1.9 ramaze


【解决方案1】:

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

这可能有多种原因:

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

【讨论】:

    【解决方案2】:

    知道了!恰如其分,错误是由堆栈溢出引起的。

    【讨论】:

      猜你喜欢
      • 2016-10-19
      • 1970-01-01
      • 2017-05-29
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 2015-11-12
      • 2019-06-08
      相关资源
      最近更新 更多