Added alternate file to load symbols from (instead of the debugee executable).

This commit is contained in:
Ernie Pasveer
2022-12-29 19:03:18 -06:00
parent b430546009
commit 12877a84f9
17 changed files with 226 additions and 17 deletions
+19
View File
@@ -20,6 +20,7 @@ SeerDebugDialog::SeerDebugDialog (QWidget* parent) : QDialog(parent) {
// Setup the widgets
setExecutableName("");
setExecutableSymbolName("");
setExecutableArguments("");
setBreakpointsFilename("");
setExecutableWorkingDirectory(QDir::currentPath());
@@ -34,6 +35,7 @@ SeerDebugDialog::SeerDebugDialog (QWidget* parent) : QDialog(parent) {
// Connect things.
QObject::connect(executableNameToolButton, &QToolButton::clicked, this, &SeerDebugDialog::handleExecutableNameToolButton);
QObject::connect(executableSymbolNameToolButton, &QToolButton::clicked, this, &SeerDebugDialog::handleExecutableSymbolNameToolButton);
QObject::connect(executableWorkingDirectoryToolButton, &QToolButton::clicked, this, &SeerDebugDialog::handleExecutableWorkingDirectoryToolButton);
QObject::connect(loadBreakpointsFilenameToolButton, &QToolButton::clicked, this, &SeerDebugDialog::handleLoadBreakpointsFilenameToolButton);
QObject::connect(loadCoreFilenameToolButton, &QToolButton::clicked, this, &SeerDebugDialog::handleLoadCoreFilenameToolButton);
@@ -61,6 +63,14 @@ QString SeerDebugDialog::executableName () const {
return executableNameLineEdit->text();
}
void SeerDebugDialog::setExecutableSymbolName (const QString& executableSymbolName) {
executableSymbolNameLineEdit->setText(executableSymbolName);
}
QString SeerDebugDialog::executableSymbolName () const {
return executableSymbolNameLineEdit->text();
}
void SeerDebugDialog::setExecutableWorkingDirectory (const QString& executableWorkingDirectory) {
executableWorkingDirectoryLineEdit->setText(executableWorkingDirectory);
}
@@ -271,6 +281,15 @@ void SeerDebugDialog::handleExecutableNameToolButton () {
}
}
void SeerDebugDialog::handleExecutableSymbolNameToolButton () {
QString name = QFileDialog::getOpenFileName(this, "Select a Symbol File for the executable.", executableSymbolName(), "", nullptr, QFileDialog::DontUseNativeDialog);
if (name != "") {
setExecutableSymbolName(name);
}
}
void SeerDebugDialog::handleExecutableWorkingDirectoryToolButton () {
QString name = QFileDialog::getExistingDirectory(this, "Select a Working Directory to run in.", executableWorkingDirectory(), QFileDialog::ShowDirsOnly|QFileDialog::DontUseNativeDialog);