在Windows Mobile上输出Debug信息,非常简单,可以直接使用Console.WriteLine,但是Windows Phone上不能使用这个方法了,其实也很简单,也就是一句话。
System.Diagnostics.Debug.WriteLine("Debug Message");
做法很简单,而且release版本会自动屏蔽了这些信息,非常实用,我在应用程序生命周期的视频中也用过这个方法,下面重点讲述一下为什么需要用这个函数。
根据自己的经验,原因有两个:
1.使用MVVM的时候,事件转换成预先定义的Command,这些commands在数据绑定的时候把delegate绑定到xaml上,因此,运行时是不能调试的(debug版本可以)。其实这不是主要原因,或者说根本原因,因为MVVM的一个特征是testable(可测试性),本人非常热爱TDD(单元测试驱动开发),更多的逻辑应该通过单元测试来判断而不是打印debug信息。
2.处理tombstone的时候,现在开发Windows Phone 7的程序,很多时间花在tombstone的处理上,我觉得“tombstone的处理”成为一个可用程序与一个好用程序的重要区别。目前为止,我觉得单元测试tombstone还是非常困难,因此Debug.WriteLine()成为我的选择。
本文转自Jake Lin博客园博客,原文链接:http://www.cnblogs.com/procoder/archive/2011/03/03/Windows-Phone-Debug-Output.html,如需转载请自行联系原作者