[#47861] ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@...

20 messages 2011/02/10
[#47874] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

前川です。

[#47875] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47876] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

[#47877] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47878] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — Kenta Murata <muraken@...> 2011/02/15

むらたです。

[ruby-list:47887] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール

From: eiichi_maekawa@...
Date: 2011-02-15 08:20:23 UTC
List: ruby-list #47887
前川です。

さくさん、ありがとうございます。

> さくです。
>
> 2011/2/15  <eiichi_maekawa@mhi.co.jp>:
>
>
> rb_method_node は ruby 1.9.1 の vm_method.c にはあるんですが、
> r24128 で内部構造が変わった際に rb_method_entry_t  に名前が変わっている
> ようですよ。
>
> https://github.com/denofevil/ruby-debug-base19 は対応しているように見えま
すが…
>

ruby_debug.cの684行目からのコードが以下です。


#ifdef RUBY_VERSION_1_9_1
    NODE *node = NULL;
#else
    rb_method_entry_t *me = NULL;
#endif
    rb_thread_t *thread = GET_THREAD();
    struct rb_iseq_struct *iseq = thread->cfp->iseq;

    hook_count++;

    if ((iseq == NULL) && (event != RUBY_EVENT_RAISE))
        return;
    thread_context_lookup(thread->self, &context, &debug_context);

    if ((event == RUBY_EVENT_LINE) || (event == RUBY_EVENT_CALL))
    {
        mid = iseq->defined_method_id;
        klass = iseq->klass;
    }

    if (mid == ID_ALLOCATOR) return;

#ifdef RUBY_VERSION_1_9_1
    node = rb_method_node(klass, mid);
#else
    me = rb_method_entry(klass, mid);
#endif

見た目は、対応しているようですが、どう対処すればいいでしょうか?


In This Thread