Add gdb's "non-stop mode" when dealing with threads at breakpoints.

This commit is contained in:
Ernie Pasveer
2022-10-01 15:41:50 -05:00
parent 4221a79955
commit c9c46c9212
17 changed files with 326 additions and 172 deletions
+11
View File
@@ -27,6 +27,7 @@ SeerDebugDialog::SeerDebugDialog (QWidget* parent) : QDialog(parent) {
setBreakpointFunctionName("");
setShowAssemblyTab(false);
setRandomizeStartAddress(false);
setNonStopMode(false);
setAttachPid(0);
setConnectHostPort("");
setCoreFilename("");
@@ -137,6 +138,14 @@ bool SeerDebugDialog::randomizeStartAddress () const {
return randomizeStartAddressCheckBox->isChecked();
}
void SeerDebugDialog::setNonStopMode (bool flag) {
nonStopModeCheckBox->setChecked(flag);
}
bool SeerDebugDialog::nonStopMode () const {
return nonStopModeCheckBox->isChecked();
}
void SeerDebugDialog::setCoreFilename (const QString& coreFilename) {
loadCoreFilenameLineEdit->setText(coreFilename);
}
@@ -322,6 +331,7 @@ void SeerDebugDialog::handleRunModeChanged (int id) {
breakpointInFunctionLineEdit->setEnabled(false);
showAsseblyTabCheckBox->setEnabled(false);
randomizeStartAddressCheckBox->setEnabled(false);
nonStopModeCheckBox->setEnabled(false);
// ID == 2
attachProgramPidLabel->setEnabled(false);
@@ -358,6 +368,7 @@ void SeerDebugDialog::handleRunModeChanged (int id) {
breakpointInFunctionLineEdit->setEnabled(true);
showAsseblyTabCheckBox->setEnabled(true);
randomizeStartAddressCheckBox->setEnabled(true);
nonStopModeCheckBox->setEnabled(true);
}
// ID == 2