《Debugging windows programs》学…

2008年6月23日 天气异常的炎热

第一章

基于C++的MFC类库、Com技术、分布式Com技术、ATL技术和多线程的Windows给调试领域带来一个个新的挑战。我们创造错误的能力远大于消除错误的能力。

在开发进度与软件代码质量之间,前者往往优先考虑。

 

关于调试的定义:

调试就是预防、诊断、揭示及消除错误的过程。

关于错误(bug)的一些想法:

错误是程序执行中的缺陷,或者说代码中的差错,程序不能按预期进行。

对于设计上的不足,如界面不够美观,字体太小等,只能说是设计上的失误,不能称为错误(bug),因为毕竟不能通过设置断点或察看调用堆栈来消除设计不足。

对待错误的态度:

首先对待错误要有一个积极的态度,不要推卸。很多时候我们对待错误会表现出很多消极的情绪。

否认:认为错误不可能是自己的代码造成,马上说是软件的其他部分、windows、编译器等等造成。

甚至有些生气,对找出错误的人不爽,找错误的过程有时是很艰辛的,我们可能会沮丧,甚至最好不管错误了,容忍它存在你代码中。

我们应积极的面对错误,与找到错误的人一起收集尽量多的信息,重现错误,确定重新错误需要的数据、程序配置、系统环境、错误发现者当时的软件操作方式。特别强调一点,重新错误及重新错误的条件收集对错误的消除至关重要。

关于错误报告内容的建议:

《Debugging <wbr>windows <wbr>programs》学习笔记

  •  使用visual c++ 的 windiff 文件/目录比较工具,查看不同版本代码之间的差异。

 

第二章 编写便于调试的C++代码

在设计方面:简单性和耦合性是影响调试最大的两个特性。

简单性:程序的设计只要能反映问题的本身,也就是解决方案应与问题相一致,应不要添加不必要的特性。

耦合性:不同对象间的依赖性越小越好,基类与派生类之间的耦合是‘垂直耦合’,这是我们所希望的,当我们应避免‘水平’耦。松耦合的程序使得测试工具可以针对各个对象进行单独测试。

编码风格:

保持一个良好地、一致地代码编写风格,对你调试过程也是至关重要的,毕竟你在调试过程中要反复的看代码。结构良好的代码在调试时,具有更加有用的调用栈。建议程序每一行只有一条语句比如一个变量的第一,一条赋值语句等,过于复杂的语句会使我们不能充分利用调试工具

<待续中>

 

东子文

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值