.net学习之路——调试程序

2018-06-23 23:12:03来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  没有人的程序是完美的,这条规则对所有的程序员来说也成立。没有人能在第一次就写出完美的程序来。

  调试工具分为两类,一类是被动的,你等待它们告诉你问题;还有一类是主动的,允许你在程序运行时深入观察,并在逐步运行代码是进行查看。

  如果要检验程序中生成的各种假设是否正确可以用以下几个宏来实现。注意不要让宏实现任何功能,因为在程序生成时这些调试用的宏都会自动删除的。

    1.ASSERT(bAssumption);这个宏的参数是任意的布尔表达式,也就是说返回值要恒为正,一旦返回了负值,就会显示一个警告信息。例如ASSERT(a>=0);当a大于等于0是不会报错,一旦a小于0了就会出现警告信息。

    2. ASSERT_VALID(pObject);这条语句用来测试程序中的对象是否合法,以及对象的内部声明是否准确无误。传入的参数是一个实例化的c++对象。#注意不是对所有的对象都起作用,对象必须是从CObject基类继承而来的,对标准MFC类来说是满足的,但如果要测试自己写的类就要注意满足这些要求了。

    3.ASSERT_KINDOF(classname,pObject);这个宏用来确认pObject对象是不是classname的实例或者是这个类的派生类的实例。也就是说前一个参数为类名,后一个参数为对象名。

    4.VERIFY(bAssumption);这个与第一个功能一样,但是它有个特性就是在发布生成时的逻辑表达式不会被删除。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:7.7 数据注解特性--Table

下一篇:【改进】用Log4net建立日志记录