2010-08-06 53 views
0

我的工作涉及使用我没有源代码的第三方工具进行的系统级性能测试。我也在测试Windows,并且可以使用调试符号,但不能使用Windows源代码。我想定量描述我的测试覆盖的主机操作系统的区域。这有两大步骤:确定要查看的DLL和函数,然后确定如何将调用分配给那些。如何测量应用程序级别基准测试的Windows API代码覆盖率

思路覆盖:

  • 从kernel.dll,ntdll.dll中,USER.DLL,等所有的功能...主要内置模块。这可能是一个巨大的矫枉过正,并且可能会发现很多只与弃用功能有关的漏洞。
  • 只是目标应用程序使用的任何DLL的模块名称。没有那么详细,但也不太可能错过目标应用程序中的关键功能。
  • 适用于DirectX 10应用程序的应用程序特定模块,如d3d10.dll。
  • 基本块。我猜这将是一篇博士论文的大量工作。

性能分析思路:

  • 运行VTune™可视化所有的我的测试调用图分析。这类作品,似乎只提供了实际调用哪些内建函数的有限视图。
  • 用Pin或DynamoRIO之类的东西动态地测试应用程序。可能的骗局:缓慢。
  • 使用WinDbg捕获调用。不知道这是否比Pin更容易或更快。
  • 使用反汇编工具(如IDA Pro)进行静态分析。

是否有任何已发表的工作沿着这些线在Windows上?你有没有使用过这些工具之一进行挂钩或记录足够多,你可以推荐它?

回答

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​​