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

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

调试策略,小技巧以及陷阱

发布: 2010-1-13 10:35 | 作者: 不详 | 来源: 领测测试软件网采编 | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网

  编译器可以发现许多潜在的错误。一些这样的错误包括使用未初始化变量,在条件句,或C + +中意外将检查平等转让,与混合类型相关的错误,如指针和绑定约束。

  格式输出谎言

  由于操作系统通常缓冲I/O,所以在调试过程中使用格式输出是危险的。可能的话,使用调试器找出有问题的代码行,而不是缩小被格式输出和进位输出弄乱的代码。

  清除输出

  有些时候你要在日志文件中跟踪一些情况,需要从程序启动到出现错误时的所有数据。为了确保你收集了所有数据,一定要清除它:你可以用C 刷新缓冲区,或用C++输出endl 。 fflush把你要写入的文件指针的错误清除。

  检查辅助函数

  人们很容易激动时忘记这点:总是确认您的辅助函数运行正常,特别是在看似简单的代码缺失时。如果可能的话,先分离每个辅助函数并对它们进行单独测试,然后再进行代码测试。

  当原因不能立刻生效时

  即使辅助函数不是导致问题的直接原因,其副作用也可能导致潜在问题。举例来说,如果你有一个可以返回NULL的辅助函数,且你把它的输出传到处理C 字符串的库函数,你会看到直接原因是因为解除了NULL指针关联,但真正的原因是因为你写了问题函数(或是你没有在调用NULL后进行检查)。

  代码可以多处使用

  调试时的另一个问题是,你发现的问题由某种特别的函数调用引起,在那个函数里设置一个断点,然后会发现,在整个代码中对同一个函数有数百次调用。

  最显而易见的办法是在冲击断点后检查调用栈,或在出错调用前有效设置断点。不幸的是,如果同样的调用出现1000次但在1001次时失败了,这就不一定起作用了。可能的解决方案包括清点函数调用次数,然后逐步通过设置在函数中的断点,或使用一个静态变量作为计数器。

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

22/2<12

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

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