我调试程序(VS2008),我是通过代码行。 我碰到一个行,其中一个委托函数被调用,我试图踏进去。 然而,而非步入如我所料的方法,该方法被绕过了,与调试器,而不是步入我认为是一个由委托调用的函数。 在调用栈,其中,I预期委托方法将线路上与该文本变灰[Lightweight Function]
。
什么是“轻量级功能”的一部分呢? 有没有办法踏进这个功能呢?
我调试程序(VS2008),我是通过代码行。 我碰到一个行,其中一个委托函数被调用,我试图踏进去。 然而,而非步入如我所料的方法,该方法被绕过了,与调试器,而不是步入我认为是一个由委托调用的函数。 在调用栈,其中,I预期委托方法将线路上与该文本变灰[Lightweight Function]
。
什么是“轻量级功能”的一部分呢? 有没有办法踏进这个功能呢?
相信轻质功能是指一个DynamicMethod的 ,即发射的在运行时,使用,和然后卸载即,一个。
本博客文章涉及铁Python,但该信息应该是很好的任何.NET项目: 观看发射IL 。 笔者向您介绍如何使用较低级别的调试器(WINDBG.EXE)看到这些“轻量级功能。”
看起来这是一个DynamicMethod的 。 见这对一些见解。
我不知道在步入一个动态的方法,虽然。
调用堆栈的DynamicMethod的(无论是在调试和发布模式):
[Lightweight Function]
[Native to Managed Transition]
mscorlib.dll!System.Reflection.Emit.DynamicMethod.Invoke(object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture) + 0x199 bytes
纯
【轻量化功能]
当一个委托给动态方法调用可以观察帧。