// API for this class public void Attach(uint processId) { if (_debug == null) { Init(); } _activeProcess = _debug.DebugActiveProcess(processId, 0); ICorDebugThreadEnum threads = _activeProcess.EnumerateThreads(); uint count = 0; //threads.GetCount(out count); count = threads.GetCount(); Console.WriteLine("thread count: " + count); /* * Type type = threads.GetType(); * MethodInfo mi = type.GetMethod("GetCount"); * count = (uint)mi.Invoke(threads, new Object[] { }); * Console.WriteLine("thread count: " + count); */ }
internal CorThreadEnumerator(ICorDebugThreadEnum threadEnumerator) { m_enum = threadEnumerator; }
int ICorDebugAppDomain.EnumerateThreads( out ICorDebugThreadEnum ppThreads ) { return this.ICorDebugController.EnumerateThreads( out ppThreads ); }
int ICorDebugController.EnumerateThreads( out ICorDebugThreadEnum ppThreads ) { return ((ICorDebugController)m_process).EnumerateThreads(out ppThreads); }
int ICorDebugProcess.EnumerateThreads(out ICorDebugThreadEnum ppThreads) { return this.ICorDebugController.EnumerateThreads(out ppThreads); }
int ICorDebugController.EnumerateThreads(out ICorDebugThreadEnum ppThreads) { ppThreads = new CorDebugEnum(GetAllNonVirtualThreads(), typeof(ICorDebugThread), typeof(ICorDebugThreadEnum)); return Utility.COM_HResults.S_OK; }
int ICorDebugAppDomain.EnumerateThreads(out ICorDebugThreadEnum ppThreads) { return(this.ICorDebugController.EnumerateThreads(out ppThreads)); }
int ICorDebugController.EnumerateThreads(out ICorDebugThreadEnum ppThreads) { return(((ICorDebugController)m_process).EnumerateThreads(out ppThreads)); }
internal DebuggedThreadEnumerator(ICorDebugThreadEnum e) { m_enum = e; }