其中一个线程阻止.NET程序完全停止.如何识别哪一个?

Sha*_*air 6 .net c# multithreading visual-studio-2010

我有一个包含大量功能的大型应用程序.有时,当您关闭主窗体时 - 它会顺利退出.其他时候表单关闭,但程序仍在运行.Visual Studio 2010提供哪些调试工具来识别行为不当的线程?

Nic*_*ler 2

在所有线程完成之前,您的应用程序不会退出IsBackground == false

当附加 VS 调试器时,您可以使用该Threads窗口来查看哪些线程仍在运行。

VS 菜单:调试 -> Windows -> 线程。

  • 应用程序在预期关闭时保持打开状态很可能表明代码中某处存在错误/问题。如果您期望彻底关闭但没有实现,那么终止该进程只能治标,但无法治愈疾病。 (2认同)