• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VC程序调试技巧备忘录

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 20次 | 进入软件测试论坛讨论

领测软件测试网

VC程序调试技巧备忘录

 

目的:

方便程序的调试,可控制的查看运行信息、运行状态、运行日志,各种错误信息以及尽可能的暴露程序隐藏的错误,并能帮助程序员及时发现错误的原因及错误出处。

 

调试约定:

1、  我们这里讨论的都是程序在直接运行时的各种运行信息,不讨论Debug模式下的单步运行调试。

2、  我们约定调试者查看信息用2种方式,一种是使用DebugView程序查看运行时信息,一种是使用文件方式查看程序运行日志

3、  我们约定程序员查看正常数据信息,逻辑信息都使用TRACE,由于TRACE在Release模式下无法运行,因此,我编写了方法CRFCWatch::watch,与TRACE完全兼容,但可在R模式下将数据显示到DebugView中。

4、  我们约定对数据的有效性检查使用ASSERT,这里我同样定义了一个新的宏WATCH_ASSERT来兼容ASSERT,当表达式为FALSE时,该宏会做以下工作:D模式下发生错误时,将信息等级,当前文件名,当前行数以及当前表达式输出到DebugView中,并显示ASSERT警告,Release模式下,该宏中的代码依然执行,并在发生错误时,将当前文件名,当前行数以及表达式信息写到DebugView中。

5、  在使用上述的watch方法和WATCH_ASSERT宏时,要求用户输入信息等级,信息等级表示了当前信息的重要性,下表是对等级的分类,目前只定义了偶数级别,奇数级暂时保留,用户可自行安排,同时支持浮点型,比如1.2,4.5,程序内部只是简单的对数值的大小进行判断,大与显示等级值的代码均将被执行,这个数据在程序启动的时候从命令行输入(暂定,也可考虑用文件方式),程序启动后,用户需要使用CRFCWatch::InitWatch方法来获得从外部传入的显示等级,不小与这个等级值的代码将被执行,比如命令行输入的是”test.exe \dv 5”(\d为命令,5为参数值),程序在运行时将执行5-10级的代码。5以下的调试信息将不被显示。

 

等级

等级描述

10级

最高级,只用于程序的错误,就是那些理论上应该绝对不会错的地方(但是实际上是会出错的^_^),主要是类似ASSERT这样的错误

9级

暂保留

8级

较重要信息,主要是程序的逻辑流程描述信息,比如与服务器连接成功,设备注册成功,提交数据到数据库成功等等

7级

暂保留

6级

主要数据信息,显示重要的数据,比如传送的数据,界面级的数据

5级

暂保留

4级

内部数据,比如协议包数据

3级

暂保留

2级

临时信息

1级

暂保留

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网