多线程代码调试技巧:
1,把运行中的线程序数量控制为1;2,使用System.Diagnostics.Trace.WriteLine(string.Format("{0}",obj));来跟踪传递的参数;经过上述两条可以确保类件的调用关系是否存在问题。当然,如果还有问题,需要在静态成员,引用传递成员以及传递的引用成员地方通过System.Diagnostics.Trace.WriteLine来仔细比较。在整个使用System.Diagnostics.Trace.WriteLine过程中因为存在多线程,当前对象难确定,个人建议使用System.Guid作为对象的一个属性,顺带输出,即:System.Diagnostics.Trace.WriteLine(string.Format("Guid:{0},Object:{1}",obj.Guid,obj));这样可更清楚的显示调用关系了。