Пример #1
0
        /// <summary>
        /// This removes the functions corresponding to the indices. All calls are removed from
        /// the call recording to these functions as well.
        /// </summary>
        /// <param name="rowIndices"></param>
        public void removeFunctions(List <int> rowIndices)
        {
            // Generate the list of destination addresses
            List <uint> functionAddresses = new List <uint>(rowIndices.Count);

            for (int i = 0; i < rowIndices.Count; i++)
            {
                if (rowIndices[i] >= 0 && rowIndices[i] < functions.Count)
                {
                    functionAddresses.Add(functions[rowIndices[i]].address);
                }
            }

            if (dataVis != null)
            {
                // Filter out the calls
                // Now lets filter out the calls to these function addresses
                dataVis = dataVis.clipOutCalls_addresses(functionAddresses);
            }

            // Remove the functions from the list
            FunctionSelectFromAddressArray selecter = new FunctionSelectFromAddressArray(functionAddresses);

            functions = functions.FindAll(selecter.isNotInList);
        }
Пример #2
0
        public void clipFunctions_address(List <uint> functionAddresses)
        {
            // Clip the function list
            FunctionSelectFromAddressArray selecter = new FunctionSelectFromAddressArray(functionAddresses);

            functions = functions.FindAll(selecter.isInList);
        }