public void Refresh() { r_rootNode.Text = r_manager.ApplicationName; ThreadStackManager tsm = r_manager.ThreadStackManager; r_deadLocksNode.Refresh(); r_processNode.Refresh(tsm.ThreadStackMap); }
public void Refresh() { r_rootNode.Text = r_manager.ApplicationName; ThreadStackManager tsm = r_manager.ThreadStackManager; r_deadLocksNode.Refresh(tsm.DeadLocks); r_appDomainsNode.Refresh(tsm.ThreadStacks); }
internal void Refresh(ThreadStackManager manager, Process2 process, Dictionary <int, String> threadNames) { try { r_nodeview.Refresh(manager, process, threadNames); } catch (Exception e) { Refresh(e); } }
public void Refresh(ThreadStackManager manager, IDebugProcess process, Dictionary<int, String> threadNames) { try { r_nodeview.Refresh(manager, process, threadNames); } catch (Exception e) { Refresh(e); } }
private void Go() { string strProcessId = toolStripProcessId.Text; int nProcessId = int.Parse(strProcessId); Process process = Process.GetProcessById(nProcessId); DebugProcess dp = new DebugProcess(process); Dictionary <int, String> names = new Dictionary <int, string>(); ClrWaitSnapshot wss = new ClrWaitSnapshot(process); ThreadStackManager tsm = wss.Initialize(); Refresh(tsm, dp, names); }
public ThreadStackNodeManager(TreeView treeview, String appName) { if (treeview == null) throw new ArgumentNullException("treeview"); if (appName == null) throw new ArgumentNullException("appName"); _appName = appName; r_treeview = treeview; _hexValues = true; _moduleNames = true; _lineNumbers = true; _offsets = true; _tsm = null; }
public void Refresh(ThreadStackManager manager, IDebugProcess process, Dictionary <int, String> threadNames) { _tsm = manager; //_procInfo = process; _appName = process.Name; _threadNames = threadNames; // seems to hang if we iterate the threads object here if (_rootNodeNew == null) { _rootNodeNew = new RootNode(this, r_treeview); } else { _rootNodeNew.Refresh(); } }
static void Main(string[] args) { Console.WriteLine("ClrInspector at work..."); ProcessStartInfo psi = new ProcessStartInfo(@"C:\Tools\sscli\ClrAddin\ClrTestApp\bin\Debug\ClrTestApp.exe"); Process process = Process.Start(psi); Thread.Sleep(5000); Dac dac = new Dac(process); ThreadStackManager tsm = dac.ConstructThreadStacks(); Console.ReadLine(); process.Kill(); }
public ThreadStackNodeManager(TreeView treeview, String appName) { if (treeview == null) { throw new ArgumentNullException("treeview"); } if (appName == null) { throw new ArgumentNullException("appName"); } _appName = appName; r_treeview = treeview; _hexValues = true; _moduleNames = true; _lineNumbers = true; _offsets = true; _tsm = null; }
private void ProcessBreakMode() { try { Process2 process = (Process2)r_dte.Debugger.DebuggedProcesses.Item(1); Dictionary <int, String> threadNames = new Dictionary <int, string>(); Threads threads = process.Threads; int count = threads.Count; for (int i = 1; i <= count; ++i) { Thread thread = threads.Item(i); int id = thread.ID; String name = thread.Name; threadNames.Add(id, name); } int procid = process.ProcessID; System.Diagnostics.Process proc = System.Diagnostics.Process.GetProcessById(procid); using (Dac dac = new Dac(proc)) { ThreadStackManager man = dac.ConstructThreadStacks(); VisualStudioProcess vsProc = new VisualStudioProcess(process); r_myControl.Refresh(man, vsProc, threadNames); } } catch (ExpiredException ex) { r_myControl.Refresh(ex); } catch (Exception ex) { r_myControl.Refresh(ex); } }
public void Refresh(ThreadStackManager manager, IDebugProcess process, Dictionary<int, String> threadNames) { _tsm = manager; //_procInfo = process; _appName = process.Name; _threadNames = threadNames; // seems to hang if we iterate the threads object here if (_rootNodeNew == null) { _rootNodeNew = new RootNode(this, r_treeview); } else { _rootNodeNew.Refresh(); } }