질문하기질문하기
 

답변됨ngen and Enter leave tail hooks

  • 2009년 4월 21일 화요일 오후 5:50raxraja 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     
    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

답변

  • 2009년 4월 21일 화요일 오후 11:44raxraja 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     답변됨
    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.

모든 응답

  • 2009년 4월 21일 화요일 오후 11:44raxraja 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     답변됨
    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.
  • 2009년 6월 22일 월요일 오후 9:38holger heinrich 사용자 메달사용자 메달사용자 메달사용자 메달사용자 메달
     

    @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