以下の内容はhttps://so-wh.at/entry/20081027/p2より取得しました。


SEGVをハンドルしようとした…

拡張ライブラリがこんな感じ。

#include <ruby.h>

static VALUE segv(VALUE self) {
  int *n;
  *n = 5;
  return Qnil;
}

void Init_segv() {
  VALUE Segv = rb_define_module("Segv");
  rb_define_module_function(Segv, "segv", segv, 0);
}

何にもしないと、落ちる。


~/work# cat run.rb
require 'segv'
include Segv

#Signal.trap(:SEGV) do
# puts 'trap SEGV'
# exit
#end

segv
~/work/segv# ruby run.rb
run.rb:9: [BUG] Segmentation fault
ruby 1.8.5 (2006-08-25) [i386-linux]

アボートしました

それで、コメントを外してSEGVをハンドルしようとしたら、プログラムが止まらない…

追記

TRAP_BEG〜TRAP_ENDで囲んでもだめだった。
うーん。。。




以上の内容はhttps://so-wh.at/entry/20081027/p2より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14