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

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

用VSTS代码验证工具捕捉C/C++错误

发布: 2009-5-22 07:48 | 作者: 网络转载 | 来源: 测试时代采编 | 查看: 78次 | 进入软件测试论坛讨论

领测软件测试网 对一个C++本机代码(Native Code)开发者来说,Visual Studio Team System对整个软件开发周期都提供了支持,VSTS源代码注释使开发者在静态代码分析或单元测试中,可以用方法参数前置或后置的有效条件来注释方法,且当注释违例时,会有相应的编译器警告,所以,可以这样说,VSTS提供了许多功能来帮助本机程序开发者。本文将着眼于VSTS验证程序,它是一个分析工具,用于监控非托管代码的执行,并可以发现如不正确的内存分配、句柄使用等等错误。

  与此相比,动态分析是检查那些传递给系统函数的关键变量值,以发现问题的,当方法被调用时,将会探测到某些非法参数,并上报给开发者;而使用非法参数时,某些问题不能被发现,只会在后续情况如内存崩溃、非正常程序退出等情况显现出来。

  以应用程序验证程序开始

  启动应用程序验证程序是一件非常简单的事,只需选择“调试-以应用程序验证程序开始”即可,如图1所示。

 


图1 启动应用程序验证程序

  第一次使用应用程序验证程序时,Visual Studio会提示你下载一个额外的DLL,此DLL将用于检查句柄及堆,可能需要管理员权限来安装这个补丁。

  对应用程序验证程序的大多数使用者来说,最难之处在于要记住运行这个验证程序,而不是启动一次标准的调试会话。假定在使用验证程序时,也可以使用标准调试,建议启动验证程序会话(Shift+Alt+F5),虽然比启动调试会话(F5)多按了两个键,但还是值得的。这样一来,就可以在每次产生调试会话时,都充分利用验证程序了。

当应用程序验证程序探测到一个问题时,它会停止执行流程,并显示一个如下的对话框,如图2所示:

 


图2 验证程序停止信息

  通常来说,诊断此类问题一般为查看能导致验证程序停止执行的句柄、锁、或堆指针信息,并回溯到崩溃发生之前的执行点。然而,这不会总是最简单的调试方法,在堆或文件崩溃是问题的唯一原因时,你不一定记得起来要启动一个调试过程。

  当验证程序停止执行流程时,一个详细的问题描述也会被添加到任务视图中,如图3所示。任务视图中的信息便于观看,而图2的对话框则需要先“消失”,开发者才能进入到调试器检查变量值。

 


图3 验证程序任务列表视图

延伸阅读

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

TAG: vsts VSTS 代码 工具 验证

21/212>

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

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