调试:用于程序开发时的系统行为修正,排除系统行为的缺陷,实现我们预期的功能
诊断:用于程序运行时的系统异常定位,判定系统对异常行为的响应,以便于采取措施实施治疗和规避
通常情况下,我们会在程序中就异常、错误情况进行处理,我们将错误信息记入日志,以便于进行跟踪和
判别。
调试问题:
1 打印模块错误,拷贝粘贴的结果
解决办法:不用手工输入
2 打印级别混乱 :
程序异常和处理错误不分开
解决办法:简化打印级别,分异常,错误,调试
3 打印缺失:很多地方只返回FALSE,但是无任何打印,有的不对返回值进行判断
解决办法:增加
4 不规范,存在个性化的打印
跟踪问题:
1 冗余打印:
2 信息却失
3 错误分支缺失
解决?
1 跟踪宏
2 为工程定制诊断日志
3 区分错误日志和跟踪日志
从标准的c++assert宏ASSERT,trace宏,
致命错误日志,向日志进程发送异常日志,控制程序的各种版本,在发生异常时,不允许中止服务器进程,
传统宏的功能:仅限于输入参数的检测
可定制更多宏在程序开发的早期捕获更多的错误,称为自诊断功能
分清楚非预期的错误和预期的错误,
调试宏集:
容易使用的函数和宏,语义清晰
错误报告发送至文件或调试控制台
宏可以关闭和打开,