dump_shapes(output: :file, since: 0) -> String | File | IO | nilRuby 3.2 から[permalink][rdoc][edit] [added by objspace]-
Ruby の shape 木(オブジェクトの内部レイアウトを表す情報)の内容を JSON 形式でダンプします。1 行につき 1 shape 分の JSON が出力されます。
- [PARAM]
output: -
ダンプ結果の出力先を指定します。指定できる値は ObjectSpace?.dump の output と同じです(デフォルトは
:file)。 - [PARAM]
since: -
0 以上の整数を指定します。正の整数を指定した場合、指定した shape_id 以降のシェイプのみをダンプします。現在の shape_id は RubyVM.stat の
:next_shape_idで取得できます。デフォルトは 0 です。
require 'objspace' str = ObjectSpace.dump_shapes(output: :string) puts str.lines.size # => 225 (シェイプの状態に依存するため実行するたびに変わります) puts str.lines.first # => {"address":"0x...", "type":"SHAPE", "id":0, "depth":1, "shape_type":"ROOT", # "edges":10, "memsize":320} # (address の値は実行するたびに変わります)- [EXCEPTION]
ArgumentError: - output に ObjectSpace?.dump で指定できる値以外を指定した場合に発生します。
戻り値の内容は完全ではない事に注意してください。この内容はあくまでもヒントとして扱う必要があります。
本メソッドは CRuby 以外では動作しない、実験的なメソッドです。出力のフォーマットは将来のバージョンで変更される可能性があります。
[SEE_ALSO] ObjectSpace?.dump, ObjectSpace?.dump_all
- [PARAM]