2009-06-04 2 views
4

Visual Studioコンパイラでは、他の関数を呼び出す前に、関数が実行された後に呼び出される2つの関数を記述できますか?プロファイリングのためのカスタムプロローグ/エピローグ関数

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)); 

私はカーネルモードのソフトウェアのために働くソリューションが必要です:gccのでは、__cyg_profile_func_*()機能とすることを行うことができます。私はMicrosoft Detoursが助けになるかもしれないと思うが、無料版は32ビットのみで、私のドライバは純粋な64ビットです。

特定のコードに対してcall graphを生成したいとします。

ありがとうございました。

答えて

5
  1. /Gh/GHスイッチを使用して、penter/pexitフックを作成できます。
    2.1 easyhook
    2.2 N-CodeHook
+0

どうもありがとう:無料フックAPIの

  • は見てみましょう。/Gh/GHはまさに私が必要なものです。 – Terminus

  • 関連する問題