2009-06-04 62 views
4

使用Visual Studio編譯器,可以在調用其他函數之前和函數執行後編寫2個函數嗎?在海灣合作委員會,你可以做到這一點與__cyg_profile_func_*()功能:用於分析的自定義序言/結語函數

void __cyg_profile_func_enter(void *func_address, void *call_site) 
           __attribute__ ((no_instrument_function)); 

void __cyg_profile_func_exit (void *func_address, void *call_site) 
           __attribute__ ((no_instrument_function)); 

我需要內核模式軟件有效的解決方案。我認爲Microsoft Detours可能有幫助,但免費版本只有32位,我的驅動程序是純64位。

我想爲特定代碼生成call graph

謝謝。

回答

5
  1. 可以使用/Gh/GH開關CL的創建P輸入/ pexit掛鉤。
  2. 對於無掛鉤的API來看一看:
    2.1 easyhook
    2.2 N-CodeHook
+0

非常感謝。/Gh/GH正是我需要的。 – Terminus 2009-06-04 11:48:09