Profiler does not receive JIT-Compilation notifications for method with reason COR_PRF_TRANSITION_RETURN in Visual C++ .NET or Visual C++ 2005 (312222)



The information in this article applies to:

  • Microsoft Visual C++ .NET (2002)
  • Microsoft .NET Framework 1.0
  • Microsoft Visual C++ .NET (2003)
  • Microsoft .NET Framework 1.1
  • Microsoft Visual C++ 2005 Express Edition

This article was previously published under Q312222

SYMPTOMS

The profiler may not receive Just-In-Time (JIT)-compilation notifications for the method whose function ID is passed to the ManagedToUnmanagedTransition callback with reason COR_PRF_TRANSITION_RETURN.

CAUSE

This behavior can occur if the function ID that is passed to the ManagedToUnmanagedTransition callback with reason COR_PRF_TRANSITION_RETURN belongs to a stub function of the JIT Compiler. If the function ID does not belong to a real managed function, the profiler does not receive any JIT compilation notifications for it. Additionally, the profiler does not receive Function Enter or Function Leave notifications either.

RESOLUTION

The profiler needs to probe the metadata for the information about the method whose function ID is passed in. If the method inherits from a delegate or multicast delegate, the profiler must infer that this is a stub function and ignore it during the creation of shadow stack tracing.

STATUS

This behavior is by design.

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

309551 INFO: CLR Profiling Services Problems


Modification Type:MajorLast Reviewed:1/5/2006
Keywords:kbPerformanceTool kbprb KB312222 kbAudDeveloper