代码生成利器-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.zip

文档:文档

 

NCodeGenerate 系列文章:

一、代码生成利器-NCodeGenerate 是什么?

二、代码生成利器-NCodeGenerate 教程(1) 遍历数据库内的所有表

三、代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一

四、代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.

五、代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换

六、代码生成利器-NCodeGenerate 教程(5) 多种数据库的支持

七、代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出

八、代码生成利器-NCodeGenerate 教程(7) 揭开调试功能 的神秘面纱

九、代码生成利器-NCodeGenerate 教程(8) 揭开Razor模板引擎的神秘面纱

十、代码生成利器-NCodeGenerate 教程(9) 数据类型映射Map功能

posted @ 2013-01-07 10:59  NCodeGenerate  阅读(1131)  评论(2编辑  收藏  举报