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