private void mitmRegisters_Click(object sender, EventArgs e) { Windows.Show(Windows.mRegistersForm); }
protected void OnGDBResponse(GDB.Response aResponse) { try { Windows.mLogForm.Log(aResponse); var xCmdLine = aResponse.Command.ToLower(); if (xCmdLine == "info registers") { Windows.mRegistersForm.UpdateRegisters(aResponse); Windows.UpdateAfterRegisterUpdate(); } else if (xCmdLine.Length == 0) { if (aResponse.Text.Count == 2 && aResponse.Text[0] == "Breakpoint") { // program breaks on aResponse.Text[1] } else { // contains address where we are } } else { var xCmdParts = xCmdLine.Split(Global.SpaceSeparator); var xCmd = xCmdParts[0]; if (xCmd.EndsWith("&")) { xCmd = xCmd.Substring(0, xCmd.Length - 1); } if (xCmd == "disassemble") { OnDisassemble(aResponse); } else if (xCmd == "symbol-file") // nothing { } else if (xCmd == "add-symbol-file") //nothing { } else if (xCmd == "set") // nothing { } else if (xCmd == "target") { if (Global.GDB.Connected) { mitmRefresh.Enabled = true; lablConnected.Visible = true; lablRunning.Visible = true; mitmConnect.Enabled = true; butnConnect.Enabled = true; mitmConnect.Text = "&Disconnect"; butnConnect.Text = "&Disconnect"; Settings.InitWindows(); lboxDisassemble.SetItems(Global.AsmSource.Lines); } else { if (mConnectRetry < MAX_RETRY + 1) { Connect(); } else { mitmConnect.Enabled = true; butnConnect.Enabled = true; mitmConnect.Text = "&Connect"; butnConnect.Text = "&Connect"; lboxDisassemble.Items.Clear(); } } } else if (xCmd == "detach") { if (false == Global.GDB.Connected) { mitmConnect.Text = "&Connect"; butnConnect.Text = "&Connect"; mitmRefresh.Enabled = false; mitmContinue.Enabled = false; butnContinue.Enabled = false; mitmStepInto.Enabled = false; mitmStepOver.Enabled = false; lboxDisassemble.Items.Clear(); lablConnected.Visible = false; lablRunning.Visible = false; textCurrentFunction.Visible = false; } } else if (xCmd == "delete") { Windows.mBreakpointsForm.OnDelete(aResponse); } else if ((xCmd == "stepi") || (xCmd == "nexti")) { } else if (xCmd == "continue" || xCmd == "fg") { //lboxDisassemble.Items.Clear(); } else if (xCmd == "where") { Windows.mCallStackForm.OnWhere(aResponse); } else if (xCmd == "break") { Windows.mBreakpointsForm.OnBreak(aResponse); } else if (xCmd.StartsWith("x/")) { Windows.mWatchesForm.OnWatchUpdate(aResponse); } else { throw new Exception("Unrecognized command response: " + aResponse.Command); } } } catch (Exception e) { MessageBox.Show("Exception: " + e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
private void mitmViewBreakpoints_Click(object sender, EventArgs e) { Windows.Show(Windows.mBreakpointsForm); }
private void mitmViewLog_Click(object sender, EventArgs e) { Windows.Show(Windows.mLogForm); }
private void mitmMainViewWatches_Click(object sender, EventArgs e) { Windows.Show(Windows.mWatchesForm); }
private void mitmMainViewCallStack_Click(object sender, EventArgs e) { Windows.Show(Windows.mCallStackForm); }
private void mitmRefresh_Click(object sender, EventArgs e) { Windows.UpdateAllWindows(); }