我的工作涉及使用我没有资源的第三方工具进行系统级性能测试。我也在测试Windows,可以使用调试符号但不能使用Windows源代码。我想用一种定量的方法来描述我的测试涵盖的主机操作系统的区域。这有两个重要的步骤:确定我想要查看的DLL和函数,然后确定如何配置对这些的调用。
报道的想法:
- 来自kernel.dll,ntdll.dll,user.dll等的所有功能......主要内置模块。这可能是一个大量的过度杀伤,可能会发现许多差距只与弃用的功能有关。
- 只是目标应用程序使用的任何DLL的模块名称。不详细,但也不太可能错过目标应用程序中的关键功能。
- 针对DirectX 10应用程序的应用程序特定模块,如d3d10.dll。
- 基本块。我猜这将是博士论文的工作量。
分析想法:
- 对我的所有测试运行VTune调用图分析。这种工作,但似乎提供了实际调用内置函数的有限视图。
- 使用Pin或DynamoRIO等动态修改应用程序。可能的骗局:慢。
- 使用WinDbg捕获调用。不确定这是否比Pin更容易或更快。
- 使用IDA Pro等反汇编工具进行静态分析。
Windows上是否有任何已发布的工作?您是否曾使用其中一种工具进行挂钩或记录,以便推荐它?