2012-08-10 81 views
0

我有一个C++应用程序,它需要在收到关机命令时关闭。收到此命令后,它应该终止所有线程,清理所有内容并正常退出。C++应用程序不会终止

问题是我的应用程序没有关闭,收到命令时它只是保持打开状态。

我认为问题在于,当收到shutdown命令时,我没有最终确定所有线程和句柄,但是由于我的应用程序非常庞大,我在定位哪个线程或句柄正在持有问题它起来。

有没有办法发现哪些线程或句柄没有完成?

PS:我在Windows XP SP3中使用Visual Studio 2005。

+3

使用调试器。调试+ Windows +线程查看正在运行的线程。悬停或双击一个来检查它的堆栈。 – 2012-08-10 12:51:14

+2

附加到调试器中的进程并看看? 但是,当您的主线程退出时,进程应该终止,您确定发生了这种情况吗? – jcoder 2012-08-10 12:51:28

+0

请考虑添加代码。 – Emiliano 2012-08-10 13:48:11

回答

1

我已经在调试和用户线程窗口中运行我的应用程序来查看谁没有关闭。我已经更新了我的代码,现在一切正常。

谢谢你的所有答案。