reachable_objects_from_root -> HashRuby 3.0 から[permalink][rdoc][edit] [added by objspace]-
VM のルート(仮想マシンやグローバル変数テーブルなど、ガベージコレクタが生存しているオブジェクトをマークする際に辿る起点)から直接到達可能なオブジェクトを、ルートごとにグループ分けしたハッシュを返します。戻り値のキーはルートの名前を表す文字列、値はそのルートから到達可能なオブジェクトの配列です。
例require 'objspace' reachable = ObjectSpace.reachable_objects_from_root p reachable.keys # => ["vm", "global_tbl", "machine_context"] # (内容やキーの構成は処理系やバージョン、実行時の状態に依存します)戻り値のハッシュはキーを同一性で比較するため、文字列リテラルを使ってキーを指定して参照することはできません。Hash#keys や Hash#values などで取得してください。
内部オブジェクトへの参照は
ObjectSpace::InternalObjectWrapperオブジェクトでラップされます。詳しくは ObjectSpace.#reachable_objects_from を参照してください。本メソッドはメモリリークの原因を調査するなど、オブジェクトグラフのデバッグに役立ちます。
本メソッドは C Ruby 以外では動作しません。
[SEE_ALSO] ObjectSpace.#reachable_objects_from