.net 什么';这是StackFrame.GetNativeOffset()的用法吗?

.net 什么';这是StackFrame.GetNativeOffset()的用法吗?,.net,reflection,il,.net,Reflection,Il,StackFrame类具有GetILOffset和GetNativeOffset方法。我知道它们是干什么用的。但我无法想象本机偏移量有什么用处。它取决于JIT,并且每次执行代码时都可能不同。此外,由于它是在执行机器上临时编译的,因此开发人员以后无法对其进行分析 是否存在本机偏移量可以告诉IL偏移量(单独)不能告诉的任何情况?是否存在本机偏移量可以告诉IL偏移量(单独)不能告诉的任何情况 GetNativeOffset方法将偏移量返回到内存中的本机即时代码GetILOffset方法返回内存中MSI

StackFrame
类具有
GetILOffset
GetNativeOffset
方法。我知道它们是干什么用的。但我无法想象本机偏移量有什么用处。它取决于JIT,并且每次执行代码时都可能不同。此外,由于它是在执行机器上临时编译的,因此开发人员以后无法对其进行分析

是否存在本机偏移量可以告诉IL偏移量(单独)不能告诉的任何情况?

是否存在本机偏移量可以告诉IL偏移量(单独)不能告诉的任何情况

GetNativeOffset
方法将偏移量返回到内存中的本机即时代码
GetILOffset
方法返回内存中MSIL代码的偏移量

是的,基本上总是这样,因为它们都指向一个不同的偏移量,但另一方面,不,正如(就像你说的)它可以随时改变


我见过更多的人使用
GetILOffset
然后
GetNativeOffset
,老实说,我见过的唯一一次使用
GetNativeOffset
实际上是在.NET框架本身内部。

它是模糊的,可能有助于注释小型转储。