Esempio n. 1
0
        public CreateProcessResult CreateProcess(string filename, string arguments, CreateProcessOptions options)
        {
            Logger.LogInfo("CreateProcess: {0} {1}", filename, arguments);

            // Attaching the debugger ensures the child process will die with the current process.
            var debuggerObject     = new DebuggerObject();
            var processInformation = (options & CreateProcessOptions.AttachDebugger) != 0 ?
                                     debuggerObject.CreateProcess(() => CreateProcessImpl(filename, arguments, options)) :
                                     CreateProcessImpl(filename, arguments, options);

            Logger.LogInfo("CreateProcess: Creating CreateProcessResult instance.");
            return(new CreateProcessResult(processInformation, debuggerObject));
        }
Esempio n. 2
0
        ObjectValueNode[] IEvaluatingGroupObjectValueNode.GetEvaluationGroupReplacementNodes()
        {
            var replacementNodes = new ObjectValueNode[DebuggerObject.ArrayCount];

            for (int i = 0; i < replacementNodes.Length; i++)
            {
                replacementNodes[i] = new DebuggerObjectValueNode(DebuggerObject.GetArrayItem(i))
                {
                    Parent = Parent
                };
            }

            return(replacementNodes);
        }
Esempio n. 3
0
 public CreateProcessResult(ProcessInformation processInformation, DebuggerObject debuggerObject)
 {
     _processInformation = processInformation;
     _debuggerObject     = debuggerObject;
     _process            = Process.GetProcessById(processInformation.ProcessId);
 }
Esempio n. 4
0
 public override void Refresh()
 {
     DebuggerObject.Refresh();
 }
Esempio n. 5
0
 public override bool HasFlag(ObjectValueFlags flag) => DebuggerObject.HasFlag(flag);
Esempio n. 6
0
 public override void Refresh(EvaluationOptions options)
 {
     DebuggerObject.Refresh(options);
 }