Exemple #1
0
        public override void OnPause()
        {
            if (Platform == null)
            {
                return;
            }

            if (Platform.Registers == null)
            {
                return;
            }

            var symbol = DebugSource.GetFirstSymbol(InstructionPointer);

            tbMethod.Text = symbol == null ? string.Empty : symbol.CommonName;

            if (symbol != null)
            {
                if (methodSymbol != symbol || instructions.Count == 0)
                {
                    Query(symbol);
                }
                else
                {
                    SelectRow();
                }
            }
            else
            {
                instructions.Clear();
            }
        }
Exemple #2
0
        public string GetAddressInfo(ulong address)
        {
            if (address < 4096)
            {
                return(null);
            }

            var symbol = DebugSource.GetFirstSymbol(address);

            if (symbol != null)
            {
                int delta = (int)(address - symbol.Address);

                if (delta > 1024 * 16)
                {
                    return(null);
                }

                if (delta == 0)
                {
                    return(symbol.CommonName);
                }

                return($"0x{delta.ToString("X2")}+{symbol.CommonName}");
            }

            return(null);
        }
Exemple #3
0
        public override void OnPause()
        {
            if (Platform == null)
            {
                return;
            }

            if (Platform.Registers == null)
            {
                return;
            }

            //tbMethod.Text = Platform.InstructionPointer.ToHex();

            var symbol = DebugSource.GetFirstSymbol(Platform.InstructionPointer.Value);

            tbMethod.Text = symbol == null ? string.Empty : symbol.CommonName;

            if (symbol != null)
            {
                if (methodSymbol != symbol)
                {
                    Query(symbol);
                }
                else
                {
                    SelectRow();
                }
            }
        }
Exemple #4
0
        public string CreateBreakPointName(ulong address)
        {
            var list = DebugSource.GetSymbolsStartingAt(address);

            if (list?.Count >= 1)
            {
                return(list[0].CommonName);
            }
            else
            {
                var first = DebugSource.GetFirstSymbol(address);

                if (first != null)
                {
                    int delta = (int)(address - first.Address);
                    return("0x" + delta.ToString("X2") + "+" + first.CommonName);
                }
            }

            return(string.Empty);
        }
Exemple #5
0
        public override void OnPause()
        {
            if (Platform == null)
            {
                return;
            }

            if (Platform.Registers == null)
            {
                return;
            }

            tbIP.Text          = Platform.InstructionPointer.ToHex();
            tbInstruction.Text = string.Empty;

            MemoryCache.ReadMemory(Platform.InstructionPointer.Value, 16, OnMemoryRead);

            var symbol = DebugSource.GetFirstSymbol(Platform.InstructionPointer.Value);

            tbMethod.Text = symbol == null ? string.Empty : symbol.CommonName;
        }
Exemple #6
0
        protected override void UpdateDisplay()
        {
            var symbol = DebugSource.GetFirstSymbol(InstructionPointer);

            tbMethod.Text = symbol == null ? string.Empty : symbol.CommonName;

            if (symbol != null)
            {
                if (methodSymbol != symbol || instructions.Count == 0)
                {
                    Query(symbol);
                }
                else
                {
                    SelectRow();
                }
            }
            else
            {
                instructions.Clear();
            }
        }
Exemple #7
0
        private void AddSymbol(ulong ip, ulong stackFrame, ulong stackPointer)
        {
            var symbol = DebugSource.GetFirstSymbol(ip);

            treeView1.Nodes.Add(new CallStackEntry(symbol, ip, stackFrame, stackPointer));
        }
        private void AddSymbol(ulong ip)
        {
            var symbol = DebugSource.GetFirstSymbol(ip);

            treeView1.Nodes.Add(new CallStackEntry(symbol, ip));
        }