Ejemplo n.º 1
0
 private void DumpStacks()
 {
     using (var snap = new Toolhelp32Snapshot(Toolhelp32SnapshotFlags.Thread)) {
         foreach (var threadEntry in snap.GetThreads(process.ProcessId))
         {
             Console.WriteLine($"Thread # {threadEntry.ThreadId}");
             DumpThread(threadEntry);
         }
     }
 }
Ejemplo n.º 2
0
 public IEnumerable <ThreadEntry> GetThreads()
 {
     using (var snap = new Toolhelp32Snapshot(Toolhelp32SnapshotFlags.Thread, ProcessId)) {
         //using yield explicitly to avoid `snap` being disposed early
         foreach (var thread in snap.GetThreads())
         {
             yield return(thread);
         }
     }
 }