2010-08-06 13 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​​
相關問題