【问题标题】:How to measure Windows API code coverage of app level benchmarks如何测量应用级别基准测试的 Windows API 代码覆盖率
【发布时间】:2010-08-06 21:17:34
【问题描述】:

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

报道的想法:

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

分析想法:

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

在 Windows 上是否有任何已发表的符合这些思路的作品?您是否曾经使用过其中一种工具来进行足够多的挂钩或日志记录,以至于您可以推荐它?

【问题讨论】:

    标签: winapi code-coverage windbg intel-vtune


    【解决方案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​​

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多