コード例 #1
0
        public SymbolGroup GetSymbolGroup(int levels)
        {
            var  count      = GetSymbolCount();
            uint start      = 0;
            var  parameters = GetSymbolParameters(start, count);

            start = count;
            var entries     = new DEBUG_SYMBOL_ENTRY[count];
            var symbolGroup = new SymbolGroup();


            for (uint j = 0; j < GetSymbolCount(); j++)
            {
                var entry     = GetSymbolEntryInformation(j);
                var parameter = parameters[j];
                entries[j] = entry;

                var nameSize = entry.NameSize;
                var name     = GetSymbolName(j, nameSize == 0 ? 50 : nameSize);
                var typeName = GetSymbolTypeName(j);
                var strValue = GetSymbolStringValue(j);
                var size     = GetSymbolSize(j);

                var sym = new SymbolValue(name, typeName, strValue, size, entry, parameters[j]);
                symbolGroup.AddSymbol(sym);
                if (sym.ExpansionDepth < levels - 1)
                {
                    ExpandSymbol(j);
                }
            }

            return(symbolGroup);
        }
コード例 #2
0
 public void AddSymbol(SymbolValue symbol)
 {
     _symbols.Add(symbol);
 }