質問する質問する
 

回答済みngen and Enter leave tail hooks

  • 2009年4月21日 17: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日 23: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日 23: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日 21: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