private static WorkStatus WorkUntilCanAttach(object arg, WorkItem workItem) { WorkStatus result = WorkStatus.NotDone; ProcessProxy processProxy = (ProcessProxy)arg; Process remoteProcess = processProxy.RemoteProcess; try { if (remoteProcess != null) { remoteProcess.Refresh(); if (!remoteProcess.HasExited) { if (!MediaControl.CanAttach(new SelectProcessArgs(processProxy.RemoteProcess, processProxy.CLRVersion))) { Thread.Sleep(500); return(result); } return(WorkStatus.Done); } return(WorkStatus.Error); } return(WorkStatus.Error); } catch (Exception) { return(WorkStatus.Error); } }