Poser une questionPoser une question
 

Traitéengen and Enter leave tail hooks

  • mardi 21 avril 2009 17:50raxraja Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     
    If a dll is ngen'ed, will the FunctionMapper method not work?

    That is, if I return the second parameter of FunctionMapper i.e. *pbHookFunction as false, will the enter, leave and tail hooks still be called?

    This seems to be what happens in my profiler. And the only change in the environment is that a dll is in ngen and I have to run ngen with /profile for this.

    Is there some way I can prevent the ELT hooks from being called for these methods?

    Thanks

Réponses

  • mardi 21 avril 2009 23:44raxraja Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     Traitée
    Cleaned up the .NET framework installation according to http://blogs.msdn.com/astebner/archive/2007/03/26/how-to-repair-the-net-framework-2-0-and-3-0-on-windows-vista.aspx

    and things work fine now.

    The methods I mark with *pbHookFunction as false are not entered into in the ELT hooks now.

Toutes les réponses

  • mardi 21 avril 2009 23:44raxraja Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     Traitée
    Cleaned up the .NET framework installation according to http://blogs.msdn.com/astebner/archive/2007/03/26/how-to-repair-the-net-framework-2-0-and-3-0-on-windows-vista.aspx

    and things work fine now.

    The methods I mark with *pbHookFunction as false are not entered into in the ELT hooks now.
  • lundi 22 juin 2009 21:38holger heinrich Médailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateurMédailles de l'utilisateur
     

    @raxraja
    I experience the same problem as you did. Whenever I am using the native (profiling) images, I am receiving ELT-Callbacks eventhough i  set *pbHookFunction to false and even returned a null pointer.

    Whenever I remove the profiling images, everything seems to be as expected. No callbacks for filtered calls.

    I am curious, how and why did the .Net framework installation clean up help you ? 
    Do you still use the profiling images or did you remove them ?  Did you check the list of loaded modules if the corresponding module is still a ni-image ?

    Is there something I can do to prevent the ELT callbacks when using the option ngen /profile ?

    @all:
    Reducing JIT-times is not worth it if runtime overhead is added for each call, in particular calls with high frequency.
    Is the observed effect by design ? Anything we can do here ?

    Thanks,
    Holger