forked from qt-creator/qt-creator
Debugger: Transform DebuggerRunParameters::cppEngineType
Task-number: QTCREATORBUG-29168 Change-Id: I002ec876ad78e0e586423e2e88ef0fbef2f81ca6 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -171,7 +171,7 @@ void AndroidDebugSupport::start()
|
|||||||
DebuggerRunParameters &rp = runParameters();
|
DebuggerRunParameters &rp = runParameters();
|
||||||
rp.setAttachPid(m_runner->pid());
|
rp.setAttachPid(m_runner->pid());
|
||||||
if (rp.isCppDebugging()) {
|
if (rp.isCppDebugging()) {
|
||||||
if (cppEngineType() == LldbEngineType) {
|
if (rp.cppEngineType() == LldbEngineType) {
|
||||||
QString deviceSerialNumber = Internal::deviceSerialNumber(runControl()->target());
|
QString deviceSerialNumber = Internal::deviceSerialNumber(runControl()->target());
|
||||||
const int colonPos = deviceSerialNumber.indexOf(QLatin1Char(':'));
|
const int colonPos = deviceSerialNumber.indexOf(QLatin1Char(':'));
|
||||||
if (colonPos > 0) {
|
if (colonPos > 0) {
|
||||||
|
@@ -139,7 +139,7 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run
|
|||||||
params.setSysRoot(SysRootKitAspect::sysRoot(kit));
|
params.setSysRoot(SysRootKitAspect::sysRoot(kit));
|
||||||
params.macroExpander = runControl->macroExpander();
|
params.macroExpander = runControl->macroExpander();
|
||||||
params.debugger = DebuggerKitAspect::runnable(kit);
|
params.debugger = DebuggerKitAspect::runnable(kit);
|
||||||
params.cppEngineType = DebuggerKitAspect::engineType(kit);
|
params.m_cppEngineType = DebuggerKitAspect::engineType(kit);
|
||||||
params.version = DebuggerKitAspect::version(kit);
|
params.version = DebuggerKitAspect::version(kit);
|
||||||
|
|
||||||
if (QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
|
if (QtSupport::QtVersion *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
|
||||||
@@ -147,7 +147,7 @@ DebuggerRunParameters DebuggerRunParameters::fromRunControl(ProjectExplorer::Run
|
|||||||
|
|
||||||
if (auto aspect = runControl->aspectData<DebuggerRunConfigurationAspect>()) {
|
if (auto aspect = runControl->aspectData<DebuggerRunConfigurationAspect>()) {
|
||||||
if (!aspect->useCppDebugger)
|
if (!aspect->useCppDebugger)
|
||||||
params.cppEngineType = NoEngineType;
|
params.m_cppEngineType = NoEngineType;
|
||||||
params.m_isQmlDebugging = aspect->useQmlDebugger;
|
params.m_isQmlDebugging = aspect->useQmlDebugger;
|
||||||
params.isPythonDebugging = aspect->usePythonDebugger;
|
params.isPythonDebugging = aspect->usePythonDebugger;
|
||||||
params.multiProcess = aspect->useMultiProcess;
|
params.multiProcess = aspect->useMultiProcess;
|
||||||
@@ -309,7 +309,7 @@ void DebuggerRunParameters::setStartMode(DebuggerStartMode startMode)
|
|||||||
if (startMode != AttachToQmlServer)
|
if (startMode != AttachToQmlServer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
cppEngineType = NoEngineType;
|
m_cppEngineType = NoEngineType;
|
||||||
m_isQmlDebugging = true;
|
m_isQmlDebugging = true;
|
||||||
m_closeMode = KillAtClose;
|
m_closeMode = KillAtClose;
|
||||||
|
|
||||||
@@ -336,12 +336,7 @@ void DebuggerRunParameters::addSolibSearchDir(const QString &str)
|
|||||||
|
|
||||||
bool DebuggerRunParameters::isCppDebugging() const
|
bool DebuggerRunParameters::isCppDebugging() const
|
||||||
{
|
{
|
||||||
return cppEngineType == GdbEngineType
|
return cppEngineType() != NoEngineType;
|
||||||
|| cppEngineType == LldbEngineType
|
|
||||||
|| cppEngineType == CdbEngineType
|
|
||||||
|| cppEngineType == GdbDapEngineType
|
|
||||||
|| cppEngineType == LldbDapEngineType
|
|
||||||
|| cppEngineType == UvscEngineType;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DebuggerRunParameters::isNativeMixedDebugging() const
|
bool DebuggerRunParameters::isNativeMixedDebugging() const
|
||||||
@@ -3019,9 +3014,9 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp)
|
|||||||
if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) {
|
if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) {
|
||||||
QString preferredDebugger;
|
QString preferredDebugger;
|
||||||
if (rp.toolChainAbi.osFlavor() == Abi::WindowsMSysFlavor) {
|
if (rp.toolChainAbi.osFlavor() == Abi::WindowsMSysFlavor) {
|
||||||
if (rp.cppEngineType == CdbEngineType)
|
if (rp.cppEngineType() == CdbEngineType)
|
||||||
preferredDebugger = "GDB";
|
preferredDebugger = "GDB";
|
||||||
} else if (rp.cppEngineType != CdbEngineType && rp.cppEngineType != LldbEngineType) {
|
} else if (rp.cppEngineType() != CdbEngineType && rp.cppEngineType() != LldbEngineType) {
|
||||||
// osFlavor() is MSVC, so the recommended debugger is still CDB,
|
// osFlavor() is MSVC, so the recommended debugger is still CDB,
|
||||||
// but don't warn for LLDB which starts to be usable, too.
|
// but don't warn for LLDB which starts to be usable, too.
|
||||||
preferredDebugger = "CDB";
|
preferredDebugger = "CDB";
|
||||||
@@ -3037,7 +3032,7 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (warnOnRelease
|
if (warnOnRelease
|
||||||
&& rp.cppEngineType == CdbEngineType
|
&& rp.cppEngineType() == CdbEngineType
|
||||||
&& rp.startMode() != AttachToRemoteServer) {
|
&& rp.startMode() != AttachToRemoteServer) {
|
||||||
QTC_ASSERT(!rp.symbolFile().isEmpty(), return);
|
QTC_ASSERT(!rp.symbolFile().isEmpty(), return);
|
||||||
if (!rp.symbolFile().exists() && !rp.symbolFile().endsWith(".exe"))
|
if (!rp.symbolFile().exists() && !rp.symbolFile().endsWith(".exe"))
|
||||||
@@ -3057,7 +3052,7 @@ void CppDebuggerEngine::validateRunParameters(DebuggerRunParameters &rp)
|
|||||||
}
|
}
|
||||||
case Abi::ElfFormat: {
|
case Abi::ElfFormat: {
|
||||||
if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) {
|
if (CheckableDecider(warnOnInappropriateDebuggerKey).shouldAskAgain()) {
|
||||||
if (rp.cppEngineType == CdbEngineType) {
|
if (rp.cppEngineType() == CdbEngineType) {
|
||||||
warnOnInappropriateDebugger = true;
|
warnOnInappropriateDebugger = true;
|
||||||
detailedWarning = Tr::tr(
|
detailedWarning = Tr::tr(
|
||||||
"The inferior is in the ELF format.\n"
|
"The inferior is in the ELF format.\n"
|
||||||
|
@@ -178,7 +178,8 @@ public:
|
|||||||
|
|
||||||
QString additionalStartupCommands() const { return m_additionalStartupCommands; }
|
QString additionalStartupCommands() const { return m_additionalStartupCommands; }
|
||||||
|
|
||||||
DebuggerEngineType cppEngineType = NoEngineType;
|
DebuggerEngineType cppEngineType() const { return m_cppEngineType; }
|
||||||
|
|
||||||
QString version;
|
QString version;
|
||||||
|
|
||||||
bool isPythonDebugging = false;
|
bool isPythonDebugging = false;
|
||||||
@@ -281,6 +282,8 @@ private:
|
|||||||
|
|
||||||
// Macro-expanded and passed to debugger startup.
|
// Macro-expanded and passed to debugger startup.
|
||||||
QString m_additionalStartupCommands;
|
QString m_additionalStartupCommands;
|
||||||
|
|
||||||
|
DebuggerEngineType m_cppEngineType = NoEngineType;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
@@ -221,7 +221,7 @@ void DebuggerRunTool::startTerminalIfNeededAndContinueStartup()
|
|||||||
m_runParameters.useTerminal = false;
|
m_runParameters.useTerminal = false;
|
||||||
|
|
||||||
// CDB has a built-in console that might be preferred by some.
|
// CDB has a built-in console that might be preferred by some.
|
||||||
const bool useCdbConsole = m_runParameters.cppEngineType == CdbEngineType
|
const bool useCdbConsole = m_runParameters.cppEngineType() == CdbEngineType
|
||||||
&& (m_runParameters.startMode() == StartInternal
|
&& (m_runParameters.startMode() == StartInternal
|
||||||
|| m_runParameters.startMode() == StartExternal)
|
|| m_runParameters.startMode() == StartExternal)
|
||||||
&& settings().useCdbConsole();
|
&& settings().useCdbConsole();
|
||||||
@@ -310,7 +310,7 @@ void DebuggerRunTool::continueAfterTerminalStart()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_runParameters.cppEngineType == CdbEngineType
|
if (m_runParameters.cppEngineType() == CdbEngineType
|
||||||
&& Utils::is64BitWindowsBinary(m_runParameters.inferior().command.executable())
|
&& Utils::is64BitWindowsBinary(m_runParameters.inferior().command.executable())
|
||||||
&& !Utils::is64BitWindowsBinary(m_runParameters.debugger.command.executable())) {
|
&& !Utils::is64BitWindowsBinary(m_runParameters.debugger.command.executable())) {
|
||||||
reportFailure(
|
reportFailure(
|
||||||
@@ -338,7 +338,7 @@ void DebuggerRunTool::continueAfterDebugServerStart()
|
|||||||
|
|
||||||
if (m_engines.isEmpty()) {
|
if (m_engines.isEmpty()) {
|
||||||
if (m_runParameters.isCppDebugging()) {
|
if (m_runParameters.isCppDebugging()) {
|
||||||
switch (m_runParameters.cppEngineType) {
|
switch (m_runParameters.cppEngineType()) {
|
||||||
case GdbEngineType:
|
case GdbEngineType:
|
||||||
m_engines << createGdbEngine();
|
m_engines << createGdbEngine();
|
||||||
break;
|
break;
|
||||||
@@ -557,11 +557,6 @@ void DebuggerRunTool::setupPortsGatherer()
|
|||||||
runControl()->requestQmlChannel();
|
runControl()->requestQmlChannel();
|
||||||
}
|
}
|
||||||
|
|
||||||
DebuggerEngineType DebuggerRunTool::cppEngineType() const
|
|
||||||
{
|
|
||||||
return m_runParameters.cppEngineType;
|
|
||||||
}
|
|
||||||
|
|
||||||
DebuggerRunTool::DebuggerRunTool(RunControl *runControl, AllowTerminal allowTerminal)
|
DebuggerRunTool::DebuggerRunTool(RunControl *runControl, AllowTerminal allowTerminal)
|
||||||
: RunWorker(runControl)
|
: RunWorker(runControl)
|
||||||
, d(new DebuggerRunToolPrivate)
|
, d(new DebuggerRunToolPrivate)
|
||||||
|
@@ -52,8 +52,6 @@ public:
|
|||||||
|
|
||||||
void setAbi(const ProjectExplorer::Abi &abi);
|
void setAbi(const ProjectExplorer::Abi &abi);
|
||||||
|
|
||||||
DebuggerEngineType cppEngineType() const;
|
|
||||||
|
|
||||||
DebuggerRunParameters &runParameters() { return m_runParameters; }
|
DebuggerRunParameters &runParameters() { return m_runParameters; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Reference in New Issue
Block a user