global names global new global ref global unref probe gobject.type_new { if (target() == pid()) { names[gtype] = user_string($name); } } probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_new").call { if (target() == pid()) { name = names[$type]; printf ("GST_MINI_OBJECT new (%s) %x %d %s\n", $$parms, $type, $type, name); new++; } } //probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_new").return { // if (target() == pid()) // { // printf ("(%s)\n", $$return); // } //} probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_ref") { if (target() == pid()) { printf ("GST_MINI_OBJECT ref (%s) %x\n", $$parms, $mini_object->refcount); ref++; } } probe process("/usr/lib/libgstreamer-0.10.so.0.29.0").function("gst_mini_object_unref") { if (target() == pid()) { printf ("GST_MINI_OBJECT unref (%s) %x\n", $$parms, $mini_object->refcount); unref++; } } probe begin { printf ("// gst-memtrace2.stp; target=%d\n", target()); new = 0; ref = 0; unref = 0; } probe end { println (new); println (ref); println (unref); }