[#3524] GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget) — "D.Kanda" <MAP2303@...>
7 messages
1998/10/13
[#3525] Re: GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget)
— matz@... (Yukihiro Matsumoto)
1998/10/13
まつもと ゆきひろです
[#3536] Re: [ruby-list:10256] Re: for が修飾子だったら — Junichi Kurokawa <jun@...>
Reply-To: ruby-devとしました。
15 messages
1998/10/22
[#3540] Re: [ruby-list:10256] Re: for が修飾子だったら
— Junichi Kurokawa <jun@...>
1998/10/23
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
[#3543] Re: for が修飾子だったら
— ARIMA Yasuhiro <fit0298@...>
1998/10/23
Regard to "[ruby-dev:3540] Re: [ruby-list:10256] Re: for が修飾子だったら"
[#3551] [BUG?] gsub — Shin-ichro Hara <sinara@...>
原です。
10 messages
1998/10/27
[ruby-dev:3526] Re: GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget)
From:
"D.Kanda" <MAP2303@...>
Date:
1998-10-13 07:42:20 UTC
List:
ruby-dev #3526
かんだです
matz@netlab.co.jp (Yukihiro Matsumoto)さんの書かれた、
「[ruby-dev:3525] Re: GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget)」
からの引用です。
> まつもと ゆきひろです
>
> In message "[ruby-dev:3524] GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget)"
> on 98/10/13, "D.Kanda" <MAP2303@mapletown.net> writes:
>
> | かんだです。
>
> | これ、GC で落ちているんですけれど、何を GC しようとしたかっていう情報は
> |得られませんかね? クラス名だけでもいいですので。もしくはGC を OFF にして、
> |参照が無くなったらすぐに free するように動作させられてもいいです。
>
> うにゃ? GCで落ちるというのはだいたい
>
> (1) 参照されてないから勝手に回収されちゃう
> (2) 回収された領域をアクセスしにいっちゃう
>
> という独立した2段階からなっていて,クラス名が分かるのは前者,
> 実際に落ちるのは後者ですから,落ちるタイミングでクラス名を知
> るのはかなり難しいですね.
> なんか良い手は無いかなあ.
オブジェクトがどう保存されているのか知らないんですけれど、たぶん intern
をキーにして表形式のように考えられるんじゃないかと思います。
+----------+------------+
| key | object |
+----------+------------+
| | |
これと同じような、値がクラスになっている表を作って、これは GC しないこと
にすれば、object が GC されちゃったとしても、その intern に新しいオブジェク
トが割り当てられるまではクラステーブルのほうには以前のクラスが格納されてい
ることになりますよね? こんな感じでできないでしょうか? もちろんデバッグオプ
ションでコンパイルしたときに有効ってことで。
> | GC のタイミングはプログラムの流れと独立だから、デバッガで辿っても患部の
> |発見が難しいので。
>
> 制御の流れとは独立ですが,場所は固定なのでちょっと慣れると
> 「ここで落ちると言うことは,ここが保護されてないんだな」と分
> かるようになります.
GC は特定の場所で行なわれるようになっているんですか?
どんな条件になってるんでしょう?
# 慣れてない :-P