我在调试多线程程序的时候,当前并没有线程退出,但在调试窗口中会出现
“The thread 0x5EC has exited with code 0 (0x0).”,紧接着程序就有问题了,不知各位知道是什么原因吗?该怎么解决呢?谢谢各位了!
对了,在出错后,我能不能根据0x5ec来获知哪个线程退出了呢?

解决方案 »

  1.   

    在每个线程的return前加入OutputDebugString输出一些东西来查
      

  2.   

    我用spy++看了一下,程序启动后,它开启了很多线程,而我只是在主线程中,开启了一个自己的线程而已。
    此外,请问各位:如果我没有调用开线程函数开自己的线程,程序运行后,是不是应该只有一个主线程
      

  3.   

    我自己开的线程不是0x5ec,此外是不是只有调用开线程函数才会启动一个线程呢
      

  4.   

    我现在只能获知这个线程是属于ntdll.dll的,但是就是不知道这个线程是干什么的
      

  5.   

    你先看看增加线程在那个代码范围,然后单步跟踪,可以找到是哪个函数创建线程的。
    可以使用性能检测工具perfmon查看一个进程的线程数。
      

  6.   

    线程即使是系统的,也是因为你调用了一个系统函数引起的。
    程序初始化时候绝对只有一个线程。
    检慢用perfmon查,总会找到是哪个函数调用的。