예제 #1
0
        public void GetSymbolNameByOffset(ulong offset, ref StringBuilder builder, out ulong displacement)
        {
            uint nameSize;
            var  res = _symbols.GetNameByOffsetWide(offset, builder, builder.Capacity, out nameSize, out displacement);

            switch (res)
            {
            case 0:                     // S_OK
                return;

            case 1:                     // S_FALSE
                builder = new StringBuilder((int)nameSize);
                GetSymbolNameByOffset(offset, ref builder, out displacement);
                return;

            default:
                builder.AppendFormat($"0x{offset:x}");
                //ErrorHelper.ThrowDebuggerException(res, "IDebugSymbols3.GetNameByOffsetWide");
                return;
            }
        }
예제 #2
0
 internal int GetNameByOffsetWide(ulong offset, StringBuilder sb, int p, out uint size, out ulong disp)
 {
     SetClientInstance();
     return(_symbols3.GetNameByOffsetWide(offset, sb, p, out size, out disp));
 }