如何衡量应用程序级基准的Windows API代码覆盖率

时间:2010-08-06 21:17:34

标签: winapi code-coverage windbg vtune

我的工作涉及使用我没有资源的第三方工具进行系统级性能测试。我也在测试Windows,可以使用调试符号但不能使用Windows源代码。我想用一种定量的方法来描述我的测试涵盖的主机操作系统的区域。这有两个重要的步骤:确定我想要查看的DLL和函数,然后确定如何配置对这些的调用。

报道的想法:

  • 来自kernel.dll,ntdll.dll,user.dll等的所有功能......主要内置模块。这可能是一个大量的过度杀伤,可能会发现许多差距只与弃用的功能有关。
  • 只是目标应用程序使用的任何DLL的模块名称。不详细,但也不太可能错过目标应用程序中的关键功能。
  • 针对DirectX 10应用程序的应用程序特定模块,如d3d10.dll。
  • 基本块。我猜这将是博士论文的工作量。

分析想法:

  • 对我的所有测试运行VTune调用图分析。这种工作,但似乎提供了实际调用内置函数的有限视图。
  • 使用Pin或DynamoRIO等动态修改应用程序。可能的骗局:慢。
  • 使用WinDbg捕获调用。不确定这是否比Pin更容易或更快。
  • 使用IDA Pro等反汇编工具进行静态分析。

Windows上是否有任何已发布的工作?您是否曾使用其中一种工具进行挂钩或记录,以便推荐它?

1 个答案:

答案 0 :(得分:1)

你可以尝试:

  1. www.zynamics.com/binnavi.html
  2. www.hbgary.com/products-services/responder-pro /
  3. code.google.com/p/paimei/source/browse/trunk/tracer_msr_branch.py​​