internal void DispatchThreadExitedEvent(GenericDebuggerEventArgs<RuntimeThread> e) { _threads.Remove(e.TargetObject.ComThread); OnThreadExited(e); }
public void ExitProcess(ICorDebugProcess pProcess) { var process = Session.GetProcess(pProcess); Log("Exited process."); var eventArgs = new GenericDebuggerEventArgs<DebuggeeProcess>(process, process); Session.DispatchExitProcessEvent(eventArgs); //FinalizeEvent(eventArgs); }
internal void DispatchThreadCreatedEvent(GenericDebuggerEventArgs<RuntimeThread> e) { _threads.Add(e.TargetObject.ComThread, e.TargetObject); OnThreadCreated(e); }
protected virtual void OnProcessExited(GenericDebuggerEventArgs<DebuggeeProcess> e) { if (ProcessExited != null) ProcessExited(this, e); }
internal void DispatchModuleUnloadEvent(GenericDebuggerEventArgs<RuntimeModule> e) { _modules.Remove(e.TargetObject.ComModule); OnModuleUnload(e); }
internal void DispatchCreateProcessEvent(GenericDebuggerEventArgs <DebuggeeProcess> e) { IsActive = true; _debuggerProcesses.Add(e.TargetObject.ComProcess, e.TargetObject); OnProcessCreated(e); }
protected virtual void OnProcessCreated(GenericDebuggerEventArgs<DebuggeeProcess> e) { e.TargetObject.Paused += TargetObject_Paused; e.TargetObject.Resumed += TargetObject_Resumed; if (ProcessCreated != null) ProcessCreated(this, e); }
public void LoadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly) { var domain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain); var assembly = new RuntimeAssembly(domain, pAssembly); Log("Loaded assembly {0}.", assembly.Name); var eventArgs = new GenericDebuggerEventArgs<RuntimeAssembly>(assembly, domain); domain.DispatchAssemblyLoadEvent(eventArgs); FinalizeEvent(eventArgs); }
public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly) { Log("Unload assembly."); var domain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain); var eventArgs = new GenericDebuggerEventArgs<RuntimeAssembly>(domain.GetAssembly(pAssembly), domain); domain.DispatchAssemblyUnloadEvent(eventArgs); FinalizeEvent(eventArgs); }
public void CreateAppDomain(ICorDebugProcess pProcess, ICorDebugAppDomain pAppDomain) { pAppDomain.Attach(); var process = GetProcessWrapper(pProcess); var domain = new RuntimeAppDomain(process, pAppDomain); Log("Created application domain {0}.", domain.Name); var eventArgs = new GenericDebuggerEventArgs<RuntimeAppDomain>(domain, process); process.DispatchAppDomainLoad(eventArgs); FinalizeEvent(eventArgs); }
public void ExitAppDomain(ICorDebugProcess pProcess, ICorDebugAppDomain pAppDomain) { Log("Exited application domain."); pAppDomain.Detach(); var process = GetProcessWrapper(pProcess); var eventArgs = new GenericDebuggerEventArgs<RuntimeAppDomain>(process.GetAppDomain(pAppDomain), process); process.DispatchAppDomainUnload(eventArgs); FinalizeEvent(eventArgs); }
public void UnloadModule(ICorDebugAppDomain pAppDomain, ICorDebugModule pModule) { RuntimeAppDomain runtimeDomain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain); ICorDebugAssembly comAssembly; pModule.GetAssembly(out comAssembly); RuntimeAssembly runtimeAssembly = runtimeDomain.GetAssembly(comAssembly); var runtimeModule = runtimeAssembly.GetModule(pModule); Log("Unloaded module."); var eventArgs = new GenericDebuggerEventArgs<RuntimeModule>(runtimeModule, runtimeDomain); runtimeAssembly.DispatchModuleUnloadEvent(eventArgs); FinalizeEvent(eventArgs); }
public void ExitThread(ICorDebugAppDomain pAppDomain, ICorDebugThread thread) { var domain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain); var debuggerThread = domain.GetThread(thread); Log("Exited thread."); var eventArgs = new GenericDebuggerEventArgs<RuntimeThread>(debuggerThread, domain); domain.DispatchThreadExitedEvent(eventArgs); FinalizeEvent(eventArgs); }
public void CreateThread(ICorDebugAppDomain pAppDomain, ICorDebugThread thread) { var domain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain); var debuggerThread = new RuntimeThread(domain, thread); Log("Created thread in domain '{0}'. Id={1}, Handle={2}.", domain.Name, debuggerThread.Id, debuggerThread.Handle); var eventArgs = new GenericDebuggerEventArgs<RuntimeThread>(debuggerThread, domain); domain.DispatchThreadCreatedEvent(eventArgs); FinalizeEvent(eventArgs); }
protected virtual void OnAssemblyUnload(GenericDebuggerEventArgs<RuntimeAssembly> e) { if (AssemblyUnload != null) AssemblyUnload(this, e); }
internal void DispatchAppDomainUnload(GenericDebuggerEventArgs<RuntimeAppDomain> e) { _domains.Remove(e.TargetObject.ComAppDomain); e.TargetObject.Paused -= TargetObject_Paused; e.TargetObject.BreakpointHit -= TargetObject_BreakpointHit; e.TargetObject.ThreadCreated -= TargetObject_ThreadCreated; e.TargetObject.ThreadExited -= TargetObject_ThreadExited; OnAppDomainUnload(e); }
protected virtual void OnThreadExited(GenericDebuggerEventArgs<RuntimeThread> e) { if (ThreadExited != null) ThreadExited(this, e); }
private void TargetObject_ThreadCreated(object sender, GenericDebuggerEventArgs<RuntimeThread> e) { OnThreadCreated(e); }
internal void DispatchCreateProcessEvent(GenericDebuggerEventArgs<DebuggeeProcess> e) { IsActive = true; _debuggerProcesses.Add(e.TargetObject.ComProcess, e.TargetObject); OnProcessCreated(e); }
protected virtual void OnAppDomainUnload(GenericDebuggerEventArgs<RuntimeAppDomain> e) { if (AppDomainUnload != null) AppDomainUnload(this, e); }
internal void DispatchExitProcessEvent(GenericDebuggerEventArgs<DebuggeeProcess> e) { e.TargetObject.Paused -= TargetObject_Paused; _debuggerProcesses.Remove(e.TargetObject.ComProcess); OnProcessExited(e); if (_debuggerProcesses.Count == 0) IsActive = false; }
internal void DispatchAssemblyLoadEvent(GenericDebuggerEventArgs<RuntimeAssembly> e) { _assemblies.Add(e.TargetObject.ComAssembly, e.TargetObject); OnAssemblyLoad(e); }
internal void DispatchModuleLoadEvent(GenericDebuggerEventArgs<RuntimeModule> e) { _modules.Add(e.TargetObject.ComModule, e.TargetObject); OnModuleLoad(e); }
internal void DispatchAssemblyUnloadEvent(GenericDebuggerEventArgs<RuntimeAssembly> e) { _assemblies.Remove(e.TargetObject.ComAssembly); OnAssemblyUnload(e); }
protected virtual void OnModuleUnload(GenericDebuggerEventArgs<RuntimeModule> e) { if (ModuleUnload != null) ModuleUnload(this, e); }
public void CreateProcess(ICorDebugProcess pProcess) { var process = new DebuggeeProcess(Session, pProcess); Log("Created process."); var eventArgs = new GenericDebuggerEventArgs<DebuggeeProcess>(process, process); Session.DispatchCreateProcessEvent(eventArgs); FinalizeEvent(eventArgs); }