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(); } }
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); }
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(); } } }
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); }
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; }
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(); } }
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)); }