代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出
来源:互联网 发布:网上做淘宝客服可靠吗 编辑:程序博客网 时间:2024/06/05 08:21
NCodeGenerate做为一个代码生成工具,可以编辑模板,语法检查,执行模板生成代码。如果模板没有逻辑错误的话,整个过程也没有问题,但谁又能保证写得模板没有错误呢?你可以吗?反正我是不行。程序员都知道在开发过程中,调试代码的时间要比写代码的时间长得多。好吧,NCodeGenerate提供了调试功能。今天我们就简单的讲一下执行过程中的NTrace 输出。
NCodeGenerate提供了一个NTrace对象,可以在模板执行中打印输出,不管代码最后是否正确执行结束,而又不混在生成的代码中。
这个NTrace对象,其实就是一个带了自动通知功能的 StringWriter。具有StringWriter对象的所有功能。具体功能参考这里:http://msdn.microsoft.com/zh-cn/library/system.io.stringwriter_members(v=vs.80).aspx。
我们举个例子吧:
新建模板,输入以下代码:
@{ NTrace.WriteLine("Begin"); @:Run Begin NTrace.WriteLine("End"); }
执行一下,在代码输出中会看到如下结果:
而在界面下方的输出窗口中会出现以下结果:
看到了吧这是执行成功的结果,分别被输出在不同的窗口。
咱们再看一个有错误的情况吧
把模板代码修改一下:
@{ NTrace.WriteLine("Begin"); throw new Exception(); @:Run Begin NTrace.WriteLine("End"); }
增加了第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 教程(9) 数据类型映射Map功能
- 代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出
- 代码生成利器-NCodeGenerate 教程(7) 揭开调试功能 的神秘面纱
- 代码生成利器-NCodeGenerate 教程(9) 数据类型映射Map功能
- 代码生成利器-NCodeGenerate 教程(3) 生成代码到文件.
- 代码生成利器-NCodeGenerate 是什么?
- 代码生成利器-NCodeGenerate 教程(2) NCodeGenerate的代码公用之一
- 代码生成利器-NCodeGenerate 教程(4) CodeSmith模板转换
- 代码生成利器-NCodeGenerate 教程(5) 多种数据库的支持
- 代码生成利器-NCodeGenerate 教程(1) 遍历数据库内的所有表
- 代码生成利器-NCodeGenerate 教程(8) 揭开Razor模板引擎的神秘面纱
- Web调试利器Fiddler 教程
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- 代码动态生成利器ASM
- keychain使用介绍
- R6002-floating point not loaded 的问题解决方法 .
- 仿射变换 图像旋转
- <<Effective C++>>笔记5
- 我的2012年个人总结
- 代码生成利器-NCodeGenerate 教程(6) 调试功能 NTrace 输出
- 技术人员如何走出职业迷茫
- Android数据库中查找一条数据使用的方法 query详解
- linux定时器的实现方法
- 大牛分享HTML5精品资料——《HTML5微周刊》资料集
- CoreText
- 迅雷X - 类似迅雷的悬浮窗口
- sip注册步骤
- MFC中打开指定文件夹并默认选中该文件夹中的某个文件