`
cutecoot
  • 浏览: 120554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

VS环境下,没有源码只有dll时做代码覆盖率检查

 
阅读更多

近期想做代码覆盖率的测试,但是因为只有编译好的dll没有源码,很多看着很方便的工具都不能用。百度了半天能用的就是商用的coverage validator.

 

因为环境是windows+VS+GTEST,就开始研究VS自己的工具。

后来发现其实VS就有提供代码覆盖率的测试。不过只能用命令行方式执行。里面提供了块覆盖率,没有行的。如果有源码,根据生成的记录可以直接对照源码显示。

 

1. 按照网上介绍的目录找exe时,发现没有。这才注意到VS express不支持测试分析模块,相关工具都不提供。只能安装VS enterprise版试了。安装好后,相应的工具貌似就都装好了。

 

2. 开始插桩dll:

这几个可执行文件都在 C:\Program Files\Microsoft Visual Studio <<version>>\Team Tools\Performance Tools>

vsinstr  /coverage D:\Test\TestDLLApp\bin\Debug\test.dll

 注意:a. test.dll是待测的dll文件

            b. 需要编译时同时生成pdb文件

            c. 需要编译时打开link的/profile选项

 

3. 开始监控:

vsperfcmd /start:coverage /output:c:\test\sample.coverage

 

4. 这时可以使用各种测试方法调用待测dll进行测试,覆盖率都会统计到上面的output文件中。

 

5. 终止监控

vsperfcmd /shutdown

 所有数据已经都写入文件,不过只能用VS打开。但是前面所有操作都可以不打开VS执行。

 

 

分享到:
评论

相关推荐

    OpenCppCoverage代码覆盖率

    检查代码覆盖率的源码。测试使用。

    reflector c#源码查看工具

    - **插件扩展:**支持丰富的第三方插件,如代码覆盖率工具、反汇编视图、性能分析等,扩展了其功能边界。 - **资源查看:**可以查看程序集内的资源文件,包括字符串、图像等。 3. **使用步骤** 使用Reflector...

    Reflector(.Net映射)

    - **插件支持**:通过扩展插件,如CodeDigger、RefactoringEssentials等,增强其功能,如代码重构、代码覆盖率分析等。 - **反汇编视图**:对于非.NET代码,如原生DLL或资源,Reflector也能提供反汇编视图。 4. *...

    ASP源码—CFUpdate ASP 批量上传客户端组件 for ASP v1.22.zip

    1. **组件集成**:首先,你需要将压缩包中的文件解压并正确部署到ASP应用程序的服务器环境中,这可能包括将DLL文件放到系统的全局程序集缓存(GAC)或者Web应用程序的bin目录下,以及将相关的ASP源代码文件(可能是....

    Could not find agent

    例如,可能是IDE如IntelliJ IDEA或Eclipse,在试图调试带有 `-javaagent` 参数的应用时出现问题,或者是使用了像JaCoCo这样的代码覆盖率工具,需要指定其代理路径。 从压缩包子文件的文件名称 "温习" 来看,这可能...

    Reflector .net 反编.rar

    Reflector .NET不仅仅是一个反编译器,它还具有扩展性,允许安装各种插件来增强功能,例如代码分析、性能测试、代码覆盖率检查等。这使得Reflector不仅仅局限于查看源码,还可以用于更深入的代码质量和性能评估。 ...

    Win8 Metro Style App Automation Implement Source code

    在实际应用中,开发者可以依据自己的需求,对这个DLL进行扩展或定制,比如增加新的测试场景、优化性能或是提高测试覆盖率。此外,与持续集成工具(如Jenkins、TeamCity)集成,可以实现自动化测试的自动化运行和报告...

    [.NET反编译工具]Reflector 6

    2. **插件系统**:它拥有丰富的插件生态系统,允许用户扩展其功能,例如添加代码分析、代码覆盖率测试、性能分析等功能。 3. **反汇编器**:Reflector不仅反编译.NET程序集,还可以反汇编.NET Framework的内部类和...

    .Net Reflector

    - **扩展性**:.Net Reflector支持插件系统,用户可以通过安装各种插件来扩展其功能,如代码覆盖率分析、代码生成等。 2. **使用场景**: - **学习新技术**:通过查看开源库的源码,开发者可以学习最佳实践和技术...

    soapui分析wsdl

    4. **数据驱动测试**:通过使用CSV或其他数据源,SOAPUI能实现数据驱动测试,这意味着可以针对多组输入数据执行相同的操作,提高测试覆盖率。 5. **性能测试**:除了功能测试,SOAPUI还提供性能测试功能,可以模拟...

    Visual++系统开发实例精粹的源代码(例1~5)

    在本压缩包中,我们包含了五个使用Visual++进行系统开发的实例源代码,分别是例1的多线程实例,例2的动态链接库(DLL)实例,例3的消息循环重载实例,例4的进程查看程序,以及例5的文件关联实例。这些实例覆盖了...

    PHP调试及性能分析工具Xdebug详解

    3. **性能分析**:Xdebug可以生成代码覆盖率报告,帮助识别未被测试的代码,同时通过profiler功能生成cachegrind格式的性能分析报告,便于使用如WinCacheGrind等工具进行可视化分析。 4. **内存分析**:Xdebug可以...

    IntraWeb_9X範例程式說明

    这个框架旨在简化开发流程,提高代码复用率。它包含了框架的设计理念、结构组成、核心组件的实现细节以及使用时需要注意的关键点。 通过以上的总结和概述,可以看出 IntraWeb 不仅是一个强大的 Web 应用开发框架,...

    Delphi5开发人员指南

    第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可...

    网管教程 从入门到精通软件篇.txt

    只有在使用故障恢复控制台时,才能使用 fixboot 命令。  fixboot [drive]  参数 驱动器  将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:  范例  下列命令...

    NeedyFinalProject

    - **测试**:检查项目是否包含测试代码,了解其测试策略和覆盖率。 总之,"NeedyFinalProject"是一个综合性的C#项目,通过分析其代码和结构,可以深入了解C#编程、软件工程实践以及特定领域应用的开发方法。

Global site tag (gtag.js) - Google Analytics