我试图找出项目中发生的变化,现在导致应用程序在关闭我正在调试的应用程序时不退出调试器。我还注意到未处理的异常不再调用未处理的异常处理程序,我不确定它是否相关。
答案 0 :(得分:10)
这可能是由于其他线程未设置为后台线程,使应用程序保持活动状态。后台线程将在应用程序执行时终止,而前台线程将使应用程序的其余部分保持活动状态,直到它们完成。
检查负责线程的一种方法是在调试器中,如下所示:
答案 1 :(得分:6)
当所有线程退出时,调试器退出。你可能已经创建了一个额外的线程,并没有做任何事情来终止它。
这可以解释未处理的未处理异常:如果它们发生在不同的线程上,您将无法在主线程上看到它们。
答案 2 :(得分:2)
大多数情况下,应用程序实际上并没有终止。你还有其他线程在运行吗?在所有前台线程终止之前,应用程序不会关闭。