Formula una domandaFormula una domanda
 

Con rispostangen and Enter leave tail hooks

  • martedì 21 aprile 2009 17.50raxraja Medaglie utenteMedaglie utenteMedaglie utenteMedaglie utenteMedaglie utente
     
    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

Risposte

  • martedì 21 aprile 2009 23.44raxraja Medaglie utenteMedaglie utenteMedaglie utenteMedaglie utenteMedaglie utente
     Con risposta
    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.

Tutte le risposte

  • martedì 21 aprile 2009 23.44raxraja Medaglie utenteMedaglie utenteMedaglie utenteMedaglie utenteMedaglie utente
     Con risposta
    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.
  • lunedì 22 giugno 2009 21.38holger heinrich Medaglie utenteMedaglie utenteMedaglie utenteMedaglie utenteMedaglie utente
     

    @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