调用堆栈中的"[Lightweight Function]"

Sma*_*ery 17 .net c# callstack visual-studio-2008

我正在调试一个程序(VS2008),我正在逐步调试代码.我遇到了一个调用委托函数的行,我试图进入它.但是,不是像我预期的那样进入方法,而是绕过了这个方法,调试器改为踩到我认为是委托调用的函数.在调用堆栈中,我期望委托方法的行用文本显示为灰色[Lightweight Function].

"轻量级功能"部分是什么意思?有没有办法进入这个功能?

bob*_*mcr 17

我相信轻量级函数是指DynamicMethod,即在运行时发出,使用然后卸载的函数.

这篇博客文章与Iron Python有关,但这些信息应该适用于任何.NET项目:查看Emitted IL.作者向您展示了如何使用较低级别的调试器(windbg.exe)来查看这些"轻量级函数".