internal CommandResult StartApplication() { SingleSteppingEngine engine = new SingleSteppingEngine(manager, this, start); initialized = true; this.main_thread = engine; engine.Thread.ThreadFlags |= Thread.Flags.StopOnExit; if (thread_hash.Contains(engine.PID)) { thread_hash [engine.PID] = engine; } else { thread_hash.Add(engine.PID, engine); } session.MainThreadGroup.AddThread(engine.Thread.ID); session.OnMainProcessCreated(this); manager.Debugger.OnMainProcessCreatedEvent(this); CommandResult result = Debugger.StartOperation(start.Session.Config.ThreadingModel, engine); return(engine.StartApplication(result)); }