Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
 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
           };
 }