我有一个多线程的 C#“控制台”应用程序,其中有很多线程完成了。我所有的线程都退出了。90% 的时间应用程序优雅地退出。但是有 10% 的情况下,我的应用程序副本仍然存在:控制台仍然打开。
我通过 Visual Studio 2010 附加到它并使用 break 来中断它,并显示两个“空”堆栈帧:一个用于 Main,一个用于我的应用程序创建的线程之一。堆栈上也没有任何东西。如果我单击这些线程中的任何一个,Visual Studio 会说“源代码不适用于该线程”,并且它提供了一个“已解密的代码视图”链接。我点击它,它说“反汇编代码不适用于该线程”。
有什么想法我可能做错了吗?