代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出
NCodeGenerate做为一个代码生成工具,可以编辑模板,语法检查,执行模板生成代码。如果模板没有逻辑错误的话,整个过程也没有问题,但谁又能保证写得模板没有错误呢?你可以吗?反正我是不行。程序员都知道在开发过程中,调试代码的时间要比写代码的时间长得多。好吧,NCodeGenerate提供了调试功能。今天我们就简单的讲一下执行过程中的NTrace 输出。
NCodeGenerate提供了一个NTrace对象,可以在模板执行中打印输出,不管代码最后是否正确执行结束,而又不混在生成的代码中。
这个NTrace对象,其实就是一个带了自动通知功能的 StringWriter。具有StringWriter对象的所有功能。具体功能参考这里:http://msdn.microsoft.com/zh-cn/library/system.io.stringwriter_members(v=vs.80).aspx。
我们举个例子吧:
新建模板,输入以下代码:
1 @{ 2 3 NTrace.WriteLine("Begin"); 4 @:Run Begin 5 6 NTrace.WriteLine("End"); 7 8 9 }
执行一下,在代码输出中会看到如下结果:
而在界面下方的输出窗口中会出现以下结果:
看到了吧这是执行成功的结果,分别被输出在不同的窗口。
咱们再看一个有错误的情况吧
把模板代码修改一下:
1 @{ 2 3 NTrace.WriteLine("Begin"); 4 throw new Exception(); 5 @:Run Begin 6 NTrace.WriteLine("End"); 7 8 9 }
增加了第4行,抛出一个异常。这样代码执行到第四行就会结束。
再执行一下,结果如下:
模板抛出异常, 而下面的输出中 只有Begin ,而没有End ,说明模板执行到第4行代码就结束了。
今天就写到这里了,下一篇讲一下,NCodeGenerate 如何调用 Visual Studio 的调试器进行单步执行,察看变量,插入断点,敬请关注。
附: NCodeGenerate 新增了 NCodeGenerate.DBSchema 的文档,在下面的文档连接中。
附上下载地址:
文档:文档
NCodeGenerate 系列文章: