public ManagedCallback GetProcessCallbackInterface(string name, ICorDebugThread pThread) { ICorDebugProcess pProcess; try { pProcess = pThread.GetProcess(); } catch (COMException e) { debugger.TraceMessage("Ignoring callback \"" + name + "\": " + e.Message); return null; } return GetProcessCallbackInterface(name, pProcess); }
public ManagedCallback GetProcessCallbackInterface(string name, ICorDebugThread pThread) { ICorDebugProcess pProcess; try { pProcess = pThread.GetProcess(); } catch (COMException e) { debugger.TraceMessage("Ignoring callback \"" + name + "\": " + e.Message); return(null); } return(GetProcessCallbackInterface(name, pProcess)); }
public DnProcess TryGetValidProcess(ICorDebugThread comThread) { DebugVerifyThread(); if (comThread == null) return null; ICorDebugProcess comProcess; int hr = comThread.GetProcess(out comProcess); if (hr < 0) return null; return TryGetValidProcess(comProcess); }
void InitializeCurrentDebuggerState(DebugCallbackEventArgs e, ICorDebugProcess comProcess, ICorDebugAppDomain comAppDomain, ICorDebugThread comThread) { if (comThread != null) { if (comProcess == null) comThread.GetProcess(out comProcess); if (comAppDomain == null) comThread.GetAppDomain(out comAppDomain); } if (comAppDomain != null) { if (comProcess == null) comAppDomain.GetProcess(out comProcess); } var process = TryGetValidProcess(comProcess); DnAppDomain appDomain; DnThread thread; if (process != null) { appDomain = process.TryGetAppDomain(comAppDomain); thread = process.TryGetThread(comThread); } else { appDomain = null; thread = null; } if (thread == null && appDomain == null && process != null) appDomain = process.AppDomains.FirstOrDefault(); if (thread == null) { if (appDomain != null) thread = appDomain.Threads.FirstOrDefault(); else if (process != null) thread = process.Threads.FirstOrDefault(); } if (process == null) SetDefaultCurrentProcess(e); else AddDebuggerState(new DebuggerState(e, process, appDomain, thread)); }
void EnterCallback(string name, ICorDebugThread pThread) { EnterCallback(name, pThread.GetProcess()); }
private void EnterCallback(PausedReason pausedReason, string name, ICorDebugThread pThread) { EnterCallback(pausedReason, name, pThread.GetProcess()); process.SelectedThread = process.Threads[pThread]; }
void EnterCallback(PausedReason pausedReason, string name, ICorDebugThread pThread) { EnterCallback(pausedReason, name, pThread.GetProcess()); process.SelectedThread = process.Threads[pThread]; }
void EnterCallback(string name, ICorDebugThread pThread) { EnterCallback(name, pThread.GetProcess()); threadToReport = process.GetThread(pThread); }