/// <summary> /// Breaks the process that is being debugged. /// </summary> public void BreakExecution(Process process) { using (var processSwitcher = new ProcessSwitcher(StateCache, process)) { DebuggeeFlowController flowControler = debugeeFlowControlers[process.Id]; flowControler.DebugStatusBreak.Reset(); Control.SetInterrupt(0); flowControler.DebugStatusBreak.WaitOne(); // Drop the cache. // TODO: When support for debugging multiple processes is added. // this needs to clear the cache of all the processes. // process.InvalidateProcessCache(); } }