在vc程序中使用调试语句
为了更好地对程序调试,可以使用如下方法:使用断言、使用跟踪语句、使用异常和返回值。
一、断言
1、基本概念
断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。
断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错误的发源地的地方发现错误。断言具有以下特征:
.断言是用来发现运行时刻错误的,发现的错误是关于程序实现方面的。
.断言中的布尔表达式显示的是某个对象或者状态的有效性而不是正确性。
.断言在条件编译后只存在于调试版本中,而不是发布版本里。
.断言不能包含程序代码。
.断言是为了给程序员而不是用户提供信息。
使用断言最根本的好处是自动发现许多运行时产生的错误,但断言不能发现所有错误。断言检查的是程序的有效性而不是正确性,可通过断言把错误限制在一个有限的范围内。当断言为假,激活调试器显示出错代码时,可用call stack命令,通过检查栈里的调用上下文、少量相关参数的值以及输出窗口中debug表的内容,通常能检查出导致断言失败的原因。_asserte宏(属于c运行时间库)还能在断言失败时显示出失效断言。下面我们讨论一下mfc库中的断言。
2、mfc库中的断言