blob: 626c8e4030becc567dcaebfb3d120b6e095eadc5 [file] [log] [blame]
Examples:
# Load
load <file>
# Show named sets / known variables
info
# Find live objects
closure roots
# or give a name
all = closure roots
# Look into the object
stats all
# Filter lists from "all" into "lists"
lists = filter all _List
# Find empty lists into "empty-lists"
empty-lists = dfilter lists ==0
# Who's using the empty lists?
users empty-lists
# print that info (from $0 in this case as we didn't give it a name but it was
# the first one we didn't give a name)
stat $0
# Filter more
empty-growable-lists = filter (users empty-lists) _GrowableList
# Print
stats empty-growable-lists
# Who's using them?
retainers empty-growable-lists
# Look into strings next
strings = filter all String
# What's inside the strings
dstats strings
# Who's pointing to the big strings?
retainers (dfilter strings >=1024)
# Small strings
small-strings = dfilter strings <100
# See them
dstats small-strings
# Who's retaining the string "foo"
f = dfilter small-strings foo
retainters f
# Find stuff with specific field
hasField = filter all :specificField
stats closure hasField :specificField
foo = follow hasField :specificField
stats closure foo
# Stop the closure search if going into specific files
stats closure foo ^file1.dart ^file2.dart ^file3.dart