internal IList <ClrRoot> EnumerateStaticRoots(bool resolveStatics) { var walker = new NativeStaticRootWalker(this, resolveStatics); STATICROOTCALLBACK del = new STATICROOTCALLBACK(walker.Callback); IntPtr ptr = Marshal.GetFunctionPointerForDelegate(del); _sos.TraverseStaticRoots(ptr); GC.KeepAlive(del); return(walker.Roots); }
internal IList<ClrRoot> EnumerateStaticRoots(bool resolveStatics) { var walker = new RhStaticRootWalker(this, resolveStatics); STATICROOTCALLBACK del = new STATICROOTCALLBACK(walker.Callback); IntPtr ptr = Marshal.GetFunctionPointerForDelegate(del); m_sos.TraverseStaticRoots(ptr); GC.KeepAlive(del); return walker.Roots; }