Finished with alternate search directories for location source file.

GDB has its notion of where source files live. Sometimes this is
incorrect as the source may be in a different place after the executable
is released.

Seer's source search feature is a list of alternate directories to look
in if the path that GDB knows of doesn't exist.

Use the Config dialog to set them. Then save the config.

This is a global feature. That is, it applies to any and all executables
being debugged. (Perhaps I'll add project based session files to handle
per executable settings).
This commit is contained in:
Ernie Pasveer
2022-01-23 10:32:12 -06:00
parent e5fe2e9d54
commit 187c3f3512
17 changed files with 454 additions and 36 deletions
+18
View File
@@ -3,6 +3,8 @@
#include <QtWidgets/QListWidgetItem>
#include <QtWidgets/QStackedWidget>
#include <QtWidgets/QMessageBox>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QDebug>
SeerConfigDialog::SeerConfigDialog(QWidget* parent) : QDialog(parent) {
@@ -125,6 +127,16 @@ bool SeerConfigDialog::editorHighlighterEnabled () const {
return _editorConfigPage->highlighterEnabled();
}
void SeerConfigDialog::setSourceAlternateDirectories (const QStringList& alternateDirectories) {
_sourceConfigPage->setAlternateDirectories(alternateDirectories);
}
QStringList SeerConfigDialog::sourceAlternateDirectories () const {
return _sourceConfigPage->alternateDirectories();
}
void SeerConfigDialog::setSeerRememberWindowSizes (bool flag) {
_seerConfigPage->setRememberWindowSizes(flag);
@@ -205,6 +217,12 @@ void SeerConfigDialog::handleButtonClicked (QAbstractButton* button) {
}else if (itemLabel == "Source") {
QStringList alternateDirectories;
alternateDirectories << "./";
setSourceAlternateDirectories(alternateDirectories);
}else if (itemLabel == "Seer") {
setSeerConsoleMode("normal");