static public bool Start() { if (!initialized) { Init(); } if (debuggerProcessId != 0) { return(false); } MessageQueue.Clear(); string debuggerDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string debuggerApp = Path.Combine(debuggerDir, "mdbghost_64.exe"); var debugger = Process.Start(new ProcessStartInfo { //FileName = debuggerApp, FileName = Path.Combine(debuggerDir, "mdbg.exe"), //FileName = @"c:\program files (x86)\notepad++\plugins\csscriptnpp\mdbg\mdbghost_64.exe", Arguments = "!load npp.dll", //CreateNoWindow = true, //UseShellExecute = false }); MessageQueue.AddNotification(NppCategory.Diagnostics + debugger.Id + ":STARTED"); debuggerProcessId = debugger.Id; Task.Factory.StartNew(() => WaitForExit(debugger)); channel = new RemoteChannelServer(debuggerProcessId); channel.Notify = message => Console.WriteLine(message); channel.Start(); return(true); }