[Squeak-ja: 3907] Re: ゾンビインスタンス

Hidetaka MASUDA masuda @ im.dendai.ac.jp
2008年 6月 2日 (月) 16:45:23 JST


増田@電大です。

話は直接関係ありませんが、昔、Smalltalk-80 を使っていたころ、自分で作っ
たクラスのインスタンスが大量に残っているのにそのクラスを消したことがあ
り、イメージ中に Obsolete というオブジェクトがたくさんできたことがあ
ります。(^.^;;)

今、VisualWorks で Hoge というクラスを作って、H := Hoge new. して
H をインスペクトした後に、クラス Hoge を消してみたら、インスペクタの表
示が AnObsoleteHoge になりました。self class allInstances したら、
インスタンスの一覧は捕まえられました。Smalltalk inspect してみても
AnObsoleteHoge がみつからないのですが、どこにあるんでしょうね。

それから、VisualWorks の時には、コントローラに close メッセージを送ら
ないといけないのに、ビューに close を送ってしまうコードを書いていた人
がいて、ScheduledControllers にコントローラだけ残りまくってたことがあ
りましたね。ビューがないコントローラに release メッセージを投げまくり
ました。

> From: "Kazuhiro ABE" <abee @ squeakland.jp>
> 
> 時間が経って、どのような状況か分からなくなった後に何百個、何千個とあ
> るものを一個一個確認して消していくのは困難を極めます(遠い昔に恐ろし
> いものを見たことがあります)。

------
〒101-8457 東京電機大学 未来科学部 情報メディア学科  増田 英孝
E-mail: masuda @ im.dendai.ac.jp                TEL 03-5280-3551
http://www.cdl.im.dendai.ac.jp/%7Emasuda/     FAX 03-5280-3592
It's more fun to compute!


Squeak-ja メーリングリストの案内