public IDebugJob CreateJob(ConsoleLog console) { var process = JobFactoryHelpers.TryResolveTargetProcess(RunningProcess, console); var debugTarget = new DebugRunningProcess(process, DebugMode.Snapshot); var fullDumpFilePath = JobFactoryHelpers.ValidateDumpFilePathForOutput(GetDumpFilePath(process), OverwriteDumpFileIfExists); return(new DumpMemoryJob(debugTarget, fullDumpFilePath) { OverwriteDumpFileIfExists = OverwriteDumpFileIfExists }); }
private IDebugSessionTarget GetDebugTarget(ConsoleLog console) { if (RunningProcess.WasSpecified) { var process = JobFactoryHelpers.TryResolveTargetProcess(RunningProcess, console); return(new DebugRunningProcess(process, RunningProcess.SuspendProcess ? DebugMode.Snapshot : DebugMode.Observe)); } if (DumpedProcess.WasSpecified) { var fullDumpFilePath = JobFactoryHelpers.ValidateDumpFilePathForInput(JobFactoryHelpers.GetDumpFilePath(DumpedProcess.DumpFile)); return(new DebugMemoryDump(fullDumpFilePath)); } throw new ErrorWithExitCodeException(1, new ProcessNotSpecifiedException().Message) { ShowUsage = true }; }