スクリプト実行中にabort(3)

スクリプト実行中に任意の場所でcoreを取得できたら、Rubyの内部解析に便利じゃないでしょうか。
ということで、いきなりabort(3)を呼び出す拡張ライブラリを書いてみました。
ファイルextconf.rb

require 'mkmf'

create_makefile('rawabort')

ファイルrawabort.c

#include <stdlib.h>
#include <ruby.h>

static VALUE
rawabort(void)
{
    abort();

    /* NOTREACHED */
    return Qnil; 
}

void
Init_rawabort(void)
{
    rb_define_global_function("rawabort", rawabort, 0);
}

コンパイル方法。

$ ls
extconf.rb      rawabort.c
$ ruby extconf.rb
creating Makefile
$ make
cc -fPIC -O2 -I/usr/include  -fPIC -pipe -I. -I/usr/pkg/lib/ruby/1.8/i386-netbsdelf -I/usr/pkg/lib/ruby/1.8/i386-netbsdelf -I.  -I/usr/include -c rawabort.c
cc -shared  -L'/usr/pkg/lib' -Wl,-R'/usr/pkg/lib' -o rawabort.so rawabort.o  -Wl,-R -Wl,/usr/pkg/lib -L/usr/pkg/lib -L. -lruby18  -lpthread -lcrypt -lm   -lc

実行例。

$ ruby -r rawabort -e rawabort
zsh: abort (core dumped)  ruby -r rawabort -e rawabort
$ gdb ruby ruby18.core
...