【发布时间】:2012-01-13 20:48:52
【问题描述】:
我正在尝试找出项目中发生的哪些更改导致当我关闭正在调试的应用程序时应用程序无法退出调试器。我还注意到未处理的异常不再调用未处理的异常处理程序,我不确定它是否相关。
【问题讨论】:
-
请告诉我们它是什么类型的应用程序(网络应用程序、共享点、桌面应用程序或其他)。
标签: c# .net visual-studio-2010 debugging
我正在尝试找出项目中发生的哪些更改导致当我关闭正在调试的应用程序时应用程序无法退出调试器。我还注意到未处理的异常不再调用未处理的异常处理程序,我不确定它是否相关。
【问题讨论】:
标签: c# .net visual-studio-2010 debugging
这可能是由于没有设置为后台线程的其他线程使应用程序保持活动状态。后台线程将在应用程序完成时终止,而前台线程将保持应用程序的其余部分处于活动状态,直到它们完成。
检查负责线程的一种方法是在调试器中,如下所示:
【讨论】:
当所有线程退出时调试器退出。您可能已经创建了一个额外的线程并且没有做任何事情来终止它。
这可以解释未处理的异常未被捕获:如果它们发生在不同的线程上,您将不会在主线程上看到它们。
【讨论】:
可以肯定的是,应用程序实际上并未终止。你还有其他线程在运行吗?在所有前台线程都终止之前,应用程序不会关闭。
【讨论】: