protected override void InitApi() { if (_sos == null) _sos = _library.SOSInterface; Debug.Assert(_sos != null); }
public bool Init(ISOSDac sos, ulong md) { ulong count = 0; V45MethodDescData data = new V45MethodDescData(); if (sos.GetMethodDescData(md, 0, out data, 0, null, out count) < 0) return false; _md = data.MethodDescPtr; _ip = data.NativeCodeAddr; _module = data.ModulePtr; _token = data.MDToken; _mt = data.MethodTablePtr; CodeHeaderData header; if (sos.GetCodeHeaderData(data.NativeCodeAddr, out header) >= 0) { if (header.JITType == 1) _jitType = MethodCompilationType.Jit; else if (header.JITType == 2) _jitType = MethodCompilationType.Ngen; else _jitType = MethodCompilationType.None; } else { _jitType = MethodCompilationType.None; } return true; }