2009-06-04 10 views
4

Ist es möglich, mit Visual Studio Compiler, 2 Funktionen zu schreiben, die vor dem Aufruf in andere Funktionen aufgerufen werden und nachdem die Funktionen ausgeführt haben? In gcc könnten Sie das tun mit __cyg_profile_func_*() Funktionen:Benutzerdefinierte Prolog/Epilog-Funktionen für das Profiling

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

Ich brauche eine Lösung, die für die Kernel-Modus-Software arbeitet. Ich denke, Microsoft Detours kann hilfreich sein, aber die kostenlose Edition ist nur 32 Bit und meine Treiber sind reine 64 Bit.

Ich möchte die call graph für den spezifischen Code generieren.

Danke.

Antwort

5
  1. Sie können die /Gh/GH Schalter cl Penter/PEXIT Haken erstellen.
  2. Für freie Haken APIs zu sehen:
    2,1 easyhook
    2,2 N-CodeHook
+0

Vielen Dank./Gh/GH sind genau das, was ich brauche. – Terminus