Example #1
0
        public Boolean DeleteUserDefinedSymbol(String name)
        {
            var k = UserDefinedSymbols.Length;

            for (var i = 0; i < k; i++)
            {
                if (!UserDefinedSymbols[i].IsMatch(name))
                {
                    continue;
                }
                if ((UserDefinedSymbols[i].AllocSize > 0) && (UserDefinedSymbols[i].ProcessId == Process.Native.Id))
                {
                    if (UserDefinedSymbols[i].Address != UIntPtr.Zero)
                    {
                        AMemoryHelper.Free(Process.Handle, UserDefinedSymbols[i].Address.ToIntPtr());
                    }
                }
                //now move up all the others and decrease the list
                for (var j = i; j < k && j + 1 < k; j++)
                {
                    UserDefinedSymbols[j] = UserDefinedSymbols[j + 1];
                }
                UserDefinedSymbols.SetLength(k - 1);
                return(true);
            }
            return(false);
        }