New SSJ feature coming in minisphere 3.0b2: the Examine command. It's like Eval, but more verbose and shows Duktape runtime data, which can help in identifying objects:
Normal Eval:
scripts/main.js ssj$ e Image.prototype
= {
prop "toString" = {...}
prop "height" = { get }
prop "width" = { get }
prop "blit" = {...}
prop "blitMask" = {...}
prop "createSurface" = {...}
prop "rotateBlit" = {...}
prop "rotateBlitMask" = {...}
prop "transformBlit" = {...}
prop "transformBlitMask" = {...}
prop "zoomBlit" = {...}
prop "zoomBlitMask" = {...}
}
Examine:
scripts/main.js ssj$ x Image.prototype
= {
meta "heapptr" = { heap:"0000019a70a80620h" }
meta "heaphdr_flags" = 1342177408
meta "heaphdr_type" = 2
meta "refcount" = 2
meta "reachable" = 0
meta "temproot" = 0
meta "finalizable" = 0
meta "finalized" = 0
meta "readonly" = 0
meta "extensible" = 1
meta "constructable" = 0
meta "bound" = 0
meta "compiledfunction" = 0
meta "nativefunction" = 0
meta "bufferobject" = 0
meta "thread" = 0
meta "array_part" = 0
meta "strict" = 0
meta "notail" = 0
meta "newenv" = 0
meta "namebinding" = 0
meta "createargs" = 0
meta "envrecclosed" = 0
meta "exotic_array" = 0
meta "exotic_stringobj" = 0
meta "exotic_arguments" = 0
meta "exotic_dukfunc" = 0
meta "exotic_proxyobj" = 0
meta "class_number" = 10
meta "class_name" = "Object"
meta "internal_prototype" = { obj:"0000019a6e86eba0h" }
meta "props" = { ptr:"0000019a6e911750h" }
meta "e_size" = 14
meta "e_next" = 14
meta "a_size" = 0
meta "h_size" = 0
prop "toString" = { obj:"0000019a70a67e30h" }
prop "height" = { get: { obj:"0000019a70a68070h" }, set: null }
prop "width" = { get: { obj:"0000019a70a67a70h" }, set: null }
prop "blit" = { obj:"0000019a70a68430h" }
prop "blitMask" = { obj:"0000019a70a68010h" }
prop "createSurface" = { obj:"0000019a70a68af0h" }
prop "rotateBlit" = { obj:"0000019a70a681f0h" }
prop "rotateBlitMask" = { obj:"0000019a70a67ad0h" }
prop "transformBlit" = { obj:"0000019a70a68610h" }
prop "transformBlitMask" = { obj:"0000019a70a67e90h" }
prop "zoomBlit" = { obj:"0000019a70a68850h" }
prop "zoomBlitMask" = { obj:"0000019a70a67c50h" }
}