故意在Ruby 1.8.7下引起段错误

问题描述

| 在MRI Ruby 1.8.7中故意造成段错误的最简单方法是什么?     

解决方法

        您可能会签出segfault4r(它的最新更新于2007年)。您必须手动下载并安装gem,因为RubyGems无法使用它。     ,        您可能编写了一个错误的C模块,该模块取消引用了NULL指针。     ,        根据您的需求(和环境),可以使其运行,找到解释程序的进程ID并执行以下操作:
$ kill -s SIGSEGV $pid
我只是在OSX上使用bash进行了尝试,它在ed(1)(一个真正的文本编辑器)过程中起作用。 您也可以在调试器中运行Ruby,然后手动将一个或两个指针设置为零。变量中的指针之一会很好地执行。当然,您可能需要使用调试符号构建解释器,并且您需要了解有关解释器内部的一两件事。     ,        如果您要针对特定​​的补丁程序级别执行此操作,请查看Ruby \的错误跟踪器,以查找在创建该补丁程序级别之后导致分段错误的错误。在查看1.8.7时,您可能想要查看归类为Ruby 1.8的那些。 例如,对于Windows计算机上的Ruby(1.9)版本,)1足以引起段错误,我认为它也适用于Ruby 1.8。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...