日期:2014-05-20  浏览次数:20645 次

新手求教 多线程调试问题!
刚刚开始进行多线程的学习并且做了一个console的程序,但是发现这个程序的流程和设计初衷有出入,为了查到究竟是什么地方出现了设计上的错误,想用设置断点的方法对程序进行调试,但是发现多线程的调试和单线程的调试非常不一样,一个地方中断了另一个地方还是继续执行。我想来想去,非常想知道当程序流到了断点的时候,其他的线程们正在做什么事情?但是不知道怎么调试,望大家赐教拍砖。

------解决方案--------------------
输出日志
------解决方案--------------------
System.Diagnostics.Trace.WriteLine( "他在干什么? ")
------解决方案--------------------
两边都断,写Debug.Write
------解决方案--------------------
一个线程执行到某个地方,其他的线程执行到什么地方,这个问题是不能确定的,这个是由操作系统调度决定的,也就是说,就算你观察出来了,也就是一次的结果,并没有依然性
多线程的问题,不是在同时执行,而是同时在操作什么资源,从这个角度去调试程序的问题
------解决方案--------------------
通常是加日志比较多,这个单步跟踪比较困难....
------解决方案--------------------
多线程调试用记录日志的方法...


------解决方案--------------------
记录日志