Intermediate Language(IL) Stubs is not a brand new feature of the CLR. With the release of .NET v4, however, IL stubs for x86 and x64 will be consistent. Moreover, event tracing on Windows (ETW) will be enabled to aide developers in diagnosing issues with IL stubs.
IL stubs are generated on the fly by the CLR and handle the marshalling and invocation of the target method. Since the stubs are dynamically generated, it is generally difficult for users to investigate or troubleshoot issues in the generated code---especially when it is necessary to determine if the appropriate managed/native signatures are being invoked!
The IL Stub Diagnostic
tool was created to ease the interop debugging experience. It is a real-time monitor which shows the details of every IL stub generated by the CLR in a given process. For each stub, the tool currently displays its IL code as well as the signature of the managed/native methods. It also provides a filter for searching on the desired stub(s) and allows the user to navigate between blocks in a stub.
This release is supported on Windows Vista+. Further, we plan on releasing enhancements of the tool during the Visual Studio 2010 Beta period. Stay tuned!!
This release include the following contents:
- IL Stub Diagnostic binary and sources
- Tutorial to demo the use of the IL Stub Diagnostic tool
- Sample PInvoke program and sources used in tutorial
We've also post two blogs about IL Stub: