调试方法:
1、使用Debug,查看内存,可以挂起其它线程,只执行疑有问题线程。
2、使用内存记号(memory trials),设置一个全局缓存区,给每一个追踪点加1个记号,并记录在缓存区。
3、使用Log,记录线程的执行情况。不过输出的Log多半与线程的实际执行情况不一致,可以做为参考。
4、Intel CPU 可以使用调试寄存器。
5、其它还有加一些DOS窗口打印,加ASSERT、TRACE到Debug窗口等。
需注意的地方:
Debug、Memory trials、Log这些都会对多线程程序的执行有很大影响,有时间成本。
多线程程序的调试需要一个稳定的运行环境。
每次只对一个地方做测试。
要注意记下曾经的操作,以便还原回去,不能盲目的执行。
在最终解决了问题后,要知道问题是如何被解决的,要有一个确切的结果,知道相关的代码、出错原因。