所以,我已经调试了我的程序好几个小时了,因为一行代码没有正确执行,我现在似乎在其他地方出现问题。
#if !DEBUG
ServiceBase[] servicesToRun = new ServiceBase[] { new CommunicationManager() };
ServiceBase.Run(servicesToRun);
#else
CommunicationManager cm = new CommunicationManager();
cm.StartService();
Console.WriteLine("CommunicationService debug");
string s = Console.ReadLine();
cm.StopThreadsAndQueues();
#endif
它应该停在Console.ReadLine()
以保持调试窗口打开,直到按下一个键。但是由于cm.StopThreadsAndQueues();
代码被执行而不管程序最终会死掉,即使我正在调查错误代码的线程仍在运行:P