forked from qt-creator/qt-creator
DAP: Add engine chooser
The Engine Chooser empowers users to select the desired debugging engine when initiating DAP debugging sessions. Change-Id: I070ff2620b318494ee715c5ac369765d4a9dc616 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "dapclient.h"
|
||||
|
||||
#include <coreplugin/messagemanager.h>
|
||||
|
||||
#include <debugger/debuggermainwindow.h>
|
||||
|
||||
#include <utils/temporarydirectory.h>
|
||||
@@ -16,6 +18,7 @@
|
||||
#include <QDebug>
|
||||
#include <QLocalSocket>
|
||||
#include <QLoggingCategory>
|
||||
#include <QVersionNumber>
|
||||
|
||||
using namespace Core;
|
||||
using namespace Utils;
|
||||
@@ -82,7 +85,8 @@ GdbDapEngine::GdbDapEngine()
|
||||
: DapEngine()
|
||||
{
|
||||
setObjectName("GdbDapEngine");
|
||||
setDebuggerName("GdbDAP");
|
||||
setDebuggerName("Gdb");
|
||||
setDebuggerType("DAP");
|
||||
}
|
||||
|
||||
void GdbDapEngine::setupEngine()
|
||||
@@ -92,6 +96,16 @@ void GdbDapEngine::setupEngine()
|
||||
const DebuggerRunParameters &rp = runParameters();
|
||||
const CommandLine cmd{rp.debugger.command.executable(), {"-i", "dap"}};
|
||||
|
||||
QVersionNumber oldestVersion(14, 0, 50);
|
||||
QVersionNumber version = QVersionNumber::fromString(rp.version);
|
||||
if (version < oldestVersion) {
|
||||
notifyEngineSetupFailed();
|
||||
MessageManager::writeDisrupting("Debugger version " + rp.version
|
||||
+ " is too old. Please upgrade to at least "
|
||||
+ oldestVersion.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
IDataProvider *dataProvider = new ProcessDataProvider(rp, cmd, this);
|
||||
m_dapClient = new DapClient(dataProvider, this);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user