forked from qt-creator/qt-creator
Debugger: Remove "IdentifyDebugInfoPackages" feature
This was only ever working with SuSE and GDB, and nobody ever tests it, nor asks for extension to other setups. Change-Id: I7b1e3cc8c9f71df4c86b957a79d5afe02eec0758 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -497,12 +497,6 @@ DebuggerSettings::DebuggerSettings()
|
||||
item->setDefaultValue(false);
|
||||
insertItem(IntelFlavor, item);
|
||||
|
||||
item = new SavedAction;
|
||||
item->setSettingsKey(debugModeGroup, "IdentifyDebugInfoPackages");
|
||||
item->setCheckable(true);
|
||||
item->setDefaultValue(false);
|
||||
insertItem(IdentifyDebugInfoPackages, item);
|
||||
|
||||
item = new SavedAction;
|
||||
item->setSettingsKey(debugModeGroup, "UseToolTips");
|
||||
item->setText(tr("Use tooltips in main editor when debugging"));
|
||||
|
@@ -133,7 +133,6 @@ enum DebuggerActionCode
|
||||
WarnOnReleaseBuilds,
|
||||
MultiInferior,
|
||||
IntelFlavor,
|
||||
IdentifyDebugInfoPackages,
|
||||
|
||||
// Stack
|
||||
MaximalStackDepth,
|
||||
|
@@ -80,7 +80,6 @@ void addHideColumnActions(QMenu *menu, QWidget *widget);
|
||||
// Qt's various build paths for unpatched versions
|
||||
QStringList qtBuildPaths();
|
||||
|
||||
void addDebugInfoTask(unsigned id, const QString &cmd);
|
||||
QWidget *addSearch(Utils::BaseTreeView *treeView);
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -583,43 +583,6 @@ static Kit *findUniversalCdbKit()
|
||||
return KitManager::kit(cdbPredicate());
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Debuginfo Taskhandler
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
|
||||
class DebugInfoTaskHandler : public ITaskHandler
|
||||
{
|
||||
public:
|
||||
bool canHandle(const Task &task) const final
|
||||
{
|
||||
return m_debugInfoTasks.contains(task.taskId);
|
||||
}
|
||||
|
||||
void handle(const Task &task) final
|
||||
{
|
||||
QString cmd = m_debugInfoTasks.value(task.taskId);
|
||||
QProcess::startDetached(cmd);
|
||||
}
|
||||
|
||||
void addTask(unsigned id, const QString &cmd)
|
||||
{
|
||||
m_debugInfoTasks[id] = cmd;
|
||||
}
|
||||
|
||||
QAction *createAction(QObject *parent) const final
|
||||
{
|
||||
QAction *action = new QAction(DebuggerPlugin::tr("Install &Debug Information"), parent);
|
||||
action->setToolTip(DebuggerPlugin::tr("Tries to install missing debug information."));
|
||||
return action;
|
||||
}
|
||||
|
||||
private:
|
||||
QHash<unsigned, QString> m_debugInfoTasks;
|
||||
};
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DebuggerPluginPrivate
|
||||
@@ -765,7 +728,6 @@ public:
|
||||
QList<IOptionsPage *> m_optionPages;
|
||||
IContext m_debugModeContext;
|
||||
|
||||
DebugInfoTaskHandler m_debugInfoTaskHandler;
|
||||
Perspective m_perspective{Constants::PRESET_PERSPECTIVE_ID, tr("Debugger")};
|
||||
|
||||
DebuggerKitAspect debuggerKitAspect;
|
||||
@@ -2048,11 +2010,6 @@ void DebuggerPluginPrivate::remoteCommand(const QStringList &options)
|
||||
runScheduled();
|
||||
}
|
||||
|
||||
void addDebugInfoTask(unsigned id, const QString &cmd)
|
||||
{
|
||||
dd->m_debugInfoTaskHandler.addTask(id, cmd);
|
||||
}
|
||||
|
||||
void DebuggerPluginPrivate::extensionsInitialized()
|
||||
{
|
||||
// If the CppEditor or QmlJS editor plugin is there, we want to add something to
|
||||
|
@@ -356,24 +356,6 @@ void GdbEngine::handleResponse(const QString &buff)
|
||||
break;
|
||||
}
|
||||
|
||||
if (boolSetting(IdentifyDebugInfoPackages)) {
|
||||
// From SuSE's gdb: >&"Missing separate debuginfo for ...\n"
|
||||
// ">&"Try: zypper install -C \"debuginfo(build-id)=c084ee5876ed1ac12730181c9f07c3e027d8e943\"\n"
|
||||
if (data.startsWith("Missing separate debuginfo for ")) {
|
||||
m_lastMissingDebugInfo = data.mid(32);
|
||||
} else if (data.startsWith("Try: zypper")) {
|
||||
QString cmd = data.mid(4);
|
||||
|
||||
Task task(Task::Warning,
|
||||
tr("Missing debug information for %1\nTry: %2")
|
||||
.arg(m_lastMissingDebugInfo).arg(cmd),
|
||||
FilePath(), 0, Debugger::Constants::TASK_CATEGORY_DEBUGGER_DEBUGINFO);
|
||||
|
||||
TaskHub::addTask(task);
|
||||
Internal::addDebugInfoTask(task.taskId, cmd);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -366,7 +366,6 @@ private: ////////// General Interface //////////
|
||||
// HACK:
|
||||
QString m_currentThread;
|
||||
QString m_lastWinException;
|
||||
QString m_lastMissingDebugInfo;
|
||||
bool m_expectTerminalTrap = false;
|
||||
bool usesExecInterrupt() const;
|
||||
bool usesTargetAsync() const;
|
||||
|
@@ -153,14 +153,6 @@ GdbOptionsPageWidget::GdbOptionsPageWidget()
|
||||
"<html><head/><body>GDB shows by default AT&&T style disassembly."
|
||||
"</body></html>"));
|
||||
|
||||
auto checkBoxIdentifyDebugInfoPackages = new QCheckBox(groupBoxGeneral);
|
||||
checkBoxIdentifyDebugInfoPackages->setText(GdbOptionsPage::tr("Create tasks from missing packages"));
|
||||
checkBoxIdentifyDebugInfoPackages->setToolTip(GdbOptionsPage::tr(
|
||||
"<html><head/><body><p>Attempts to identify missing debug info packages "
|
||||
"and lists them in the Issues output pane.</p><p>"
|
||||
"<b>Note:</b> This feature needs special support from the Linux "
|
||||
"distribution and GDB build and is not available everywhere.</p></body></html>"));
|
||||
|
||||
QString howToUsePython = GdbOptionsPage::tr(
|
||||
"<p>To execute simple Python commands, prefix them with \"python\".</p>"
|
||||
"<p>To execute sequences of Python commands spanning multiple lines "
|
||||
@@ -233,7 +225,6 @@ GdbOptionsPageWidget::GdbOptionsPageWidget()
|
||||
formLayout->addRow(checkBoxLoadGdbInit);
|
||||
formLayout->addRow(checkBoxLoadGdbDumpers);
|
||||
formLayout->addRow(checkBoxIntelFlavor);
|
||||
formLayout->addRow(checkBoxIdentifyDebugInfoPackages);
|
||||
|
||||
auto startLayout = new QGridLayout(groupBoxStartupCommands);
|
||||
startLayout->addWidget(textEditStartupCommands, 0, 0, 1, 1);
|
||||
@@ -255,7 +246,6 @@ GdbOptionsPageWidget::GdbOptionsPageWidget()
|
||||
group.insert(action(AdjustBreakpointLocations), checkBoxAdjustBreakpointLocations);
|
||||
group.insert(action(GdbWatchdogTimeout), spinBoxGdbWatchdogTimeout);
|
||||
group.insert(action(IntelFlavor), checkBoxIntelFlavor);
|
||||
group.insert(action(IdentifyDebugInfoPackages), checkBoxIdentifyDebugInfoPackages);
|
||||
group.insert(action(UseMessageBoxForSignals), checkBoxUseMessageBoxForSignals);
|
||||
group.insert(action(SkipKnownFrames), checkBoxSkipKnownFrames);
|
||||
|
||||
|
Reference in New Issue
Block a user