0

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

覆盖的想法:

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

剖析思路:

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

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

4

1 回答 1

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
于 2010-08-09T16:32:36.627 回答