[#19457] equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org>

ふと気がついたのですが、

39 messages 2003/02/02
[#19460] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/03

まつもと ゆきひろです

[#19473] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044245817.592933.31973.nullmailer@picachu.netlab.jp>,

[#19474] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19475] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044329220.257740.28127.nullmailer@picachu.netlab.jp>,

[#19476] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19477] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044331431.138035.28173.nullmailer@picachu.netlab.jp>,

[#19478] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19479] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044332948.099873.28206.nullmailer@picachu.netlab.jp>,

[#19482] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19486] Re: equality between "a" and Exception.new("a") — Tanaka Akira <akr@...17n.org> 2003/02/04

In article <1044338964.502066.28474.nullmailer@picachu.netlab.jp>,

[#19491] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19493] Re: equality between "a" and Exception.new("a") — matz@... (Yukihiro Matsumoto) 2003/02/04

まつもと ゆきひろです

[#19556] compare between String and Exception — Tanaka Akira <akr@...17n.org> 2003/02/12

さらに気が付いたのですが、

[#19514] [Oniguruma] Version 1.7.1 — "K.Kosako" <kosako@...>

ftp.ruby-lang.orgに、onigd20030207.tar.gzを置きました。

19 messages 2003/02/07

[#19548] [PATCH] file.c for (PR#389) and (PR#390) — nobu.nakada@...

なかだです。

20 messages 2003/02/11
[#19572] Re: [PATCH] file.c for (PR#389) and (PR#390) — pegacorn@... 2003/02/14

From: nobu.nakada@nifty.ne.jp

[#19648] Re: SEGV at search_method in eval.c (PR#400) — nobu.nakada@...

なかだです。

13 messages 2003/02/24

[ruby-dev:19650] Re: SEGV at search_method in eval.c (PR#400)

From: nobu.nakada@...
Date: 2003-02-24 14:12:05 UTC
List: ruby-dev #19650
なかだです。

At Mon, 24 Feb 2003 22:46:52 +0900,
NAKAMURA, Hiroshi <nahi@mwd.biglobe.ne.jp> wrote:
> > > stack traceは長いのでここにおいてあります。
> > > http://rrr.jin.gr.jp/rwiki?cmd=view;name=ToDo320
> > > 他に何か必要な情報はあるでしょうか。
> >
> > rubyのスタックトレースとか。
> 
> SEGVした瞬間のrubyのスタックトレースはどう取ればいいでしょうか。^^;

syslogとかには残ってませんか。

> #10 0x400527fe in w_object (obj=1078229828, arg=0xbffebbd8, limit=-3)
>     at marshal.c:325
> 325             if (rb_respond_to(obj, s_dump)) {
> (gdb) p obj
> $3 = 1078229828
> (gdb) p (struct RClass)obj
> $4 = {basic = {flags = 1078229828, klass = 3221141900}, iv_tbl = 0xbffeb984,
>   m_tbl = 0x40035a09, super = 135285569}
> (gdb) up 4
> #14 0x40052eb3 in w_object (obj=1078141208, arg=0xbffebbd8, limit=-2)
>     at marshal.c:494
> 494             w_ivar(ivtbl, &c_arg);
> (gdb) p obj
> $5 = 1078141208
> (gdb) p (struct RClass)obj
> $6 = {basic = {flags = 1078141208, klass = 3221142172}, iv_tbl = 0x40052eb3,
>   m_tbl = 0x8ab3220, super = 3221142160}
> (gdb)
> 
> 「オブジェクトの中身」のより良い見方を教えてください。

まずBUILTIN_TYPEを調べて、ruby.hの該当するT_*のstructへのポイン
タにキャストしてください。

  p ((struct RBasic *)obj)->flags & 0x3f

たとえば上の値が7だったらStringなので、struct RString *です。

  p *(struct RString *)obj

プロセスが生きていればp rb_p(obj)とかできるのですが。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread