forked from qt-creator/qt-creator
Debugger: remove redundant info whether to use cpp debugging
Task-number: QTCREATORBUG-20168 Change-Id: I2a0bfba6aea39da443032fd9ab02869cdc508696 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -1805,9 +1805,16 @@ bool DebuggerEngine::isNativeMixedActiveFrame() const
|
|||||||
return frame.language == QmlLanguage;
|
return frame.language == QmlLanguage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DebuggerRunParameters::isCppDebugging() const
|
||||||
|
{
|
||||||
|
return cppEngineType == CdbEngineType
|
||||||
|
|| cppEngineType == GdbEngineType
|
||||||
|
|| cppEngineType == LldbEngineType;
|
||||||
|
}
|
||||||
|
|
||||||
bool DebuggerRunParameters::isNativeMixedDebugging() const
|
bool DebuggerRunParameters::isNativeMixedDebugging() const
|
||||||
{
|
{
|
||||||
return nativeMixedEnabled && isCppDebugging && isQmlDebugging;
|
return nativeMixedEnabled && isCppDebugging() && isQmlDebugging;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -129,7 +129,6 @@ public:
|
|||||||
|
|
||||||
DebuggerEngineType cppEngineType = NoEngineType;
|
DebuggerEngineType cppEngineType = NoEngineType;
|
||||||
|
|
||||||
bool isCppDebugging = true;
|
|
||||||
bool isQmlDebugging = false;
|
bool isQmlDebugging = false;
|
||||||
bool breakOnMain = false;
|
bool breakOnMain = false;
|
||||||
bool multiProcess = false; // Whether to set detach-on-fork off.
|
bool multiProcess = false; // Whether to set detach-on-fork off.
|
||||||
@@ -156,6 +155,7 @@ public:
|
|||||||
|
|
||||||
bool nativeMixedEnabled = false;
|
bool nativeMixedEnabled = false;
|
||||||
|
|
||||||
|
bool isCppDebugging() const;
|
||||||
bool isNativeMixedDebugging() const;
|
bool isNativeMixedDebugging() const;
|
||||||
void validateExecutable();
|
void validateExecutable();
|
||||||
|
|
||||||
|
@@ -2868,7 +2868,7 @@ static QString formatStartParameters(const DebuggerRunTool *debugger)
|
|||||||
str << "Start parameters: '" << sp.displayName << "' mode: " << sp.startMode
|
str << "Start parameters: '" << sp.displayName << "' mode: " << sp.startMode
|
||||||
<< "\nABI: " << sp.toolChainAbi.toString() << '\n';
|
<< "\nABI: " << sp.toolChainAbi.toString() << '\n';
|
||||||
str << "Languages: ";
|
str << "Languages: ";
|
||||||
if (sp.isCppDebugging)
|
if (sp.isCppDebugging())
|
||||||
str << "c++ ";
|
str << "c++ ";
|
||||||
if (sp.isQmlDebugging)
|
if (sp.isQmlDebugging)
|
||||||
str << "qml";
|
str << "qml";
|
||||||
@@ -3345,7 +3345,7 @@ void DebuggerPluginPrivate::updateActiveLanguages()
|
|||||||
// Id perspective = (languages & QmlLanguage) && !(languages & CppLanguage)
|
// Id perspective = (languages & QmlLanguage) && !(languages & CppLanguage)
|
||||||
// ? QmlPerspectiveId : CppPerspectiveId;
|
// ? QmlPerspectiveId : CppPerspectiveId;
|
||||||
// m_mainWindow->restorePerspective(perspective);
|
// m_mainWindow->restorePerspective(perspective);
|
||||||
if (rp.isCppDebugging)
|
if (rp.isCppDebugging())
|
||||||
ICore::addAdditionalContext(Context(C_CPPDEBUGGER));
|
ICore::addAdditionalContext(Context(C_CPPDEBUGGER));
|
||||||
else
|
else
|
||||||
ICore::removeAdditionalContext(Context(C_CPPDEBUGGER));
|
ICore::removeAdditionalContext(Context(C_CPPDEBUGGER));
|
||||||
|
@@ -264,7 +264,7 @@ void DebuggerRunTool::setStartMode(DebuggerStartMode startMode)
|
|||||||
{
|
{
|
||||||
if (startMode == AttachToQmlServer) {
|
if (startMode == AttachToQmlServer) {
|
||||||
m_runParameters.startMode = AttachToRemoteProcess;
|
m_runParameters.startMode = AttachToRemoteProcess;
|
||||||
m_runParameters.isCppDebugging = false;
|
m_runParameters.cppEngineType = NoEngineType;
|
||||||
m_runParameters.isQmlDebugging = true;
|
m_runParameters.isQmlDebugging = true;
|
||||||
m_runParameters.closeMode = KillAtClose;
|
m_runParameters.closeMode = KillAtClose;
|
||||||
|
|
||||||
@@ -519,7 +519,7 @@ void DebuggerRunTool::start()
|
|||||||
setQmlServer(d->portsGatherer->qmlServer());
|
setQmlServer(d->portsGatherer->qmlServer());
|
||||||
if (d->addQmlServerInferiorCommandLineArgumentIfNeeded
|
if (d->addQmlServerInferiorCommandLineArgumentIfNeeded
|
||||||
&& m_runParameters.isQmlDebugging
|
&& m_runParameters.isQmlDebugging
|
||||||
&& m_runParameters.isCppDebugging) {
|
&& m_runParameters.isCppDebugging()) {
|
||||||
using namespace QmlDebug;
|
using namespace QmlDebug;
|
||||||
int qmlServerPort = m_runParameters.qmlServer.port();
|
int qmlServerPort = m_runParameters.qmlServer.port();
|
||||||
QTC_ASSERT(qmlServerPort > 0, reportFailure(); return);
|
QTC_ASSERT(qmlServerPort > 0, reportFailure(); return);
|
||||||
@@ -562,7 +562,8 @@ void DebuggerRunTool::start()
|
|||||||
|
|
||||||
DebuggerEngine *cppEngine = nullptr;
|
DebuggerEngine *cppEngine = nullptr;
|
||||||
if (!m_engine) {
|
if (!m_engine) {
|
||||||
switch (m_runParameters.cppEngineType) {
|
if (m_runParameters.isCppDebugging()) {
|
||||||
|
switch (m_runParameters.cppEngineType) {
|
||||||
case GdbEngineType:
|
case GdbEngineType:
|
||||||
cppEngine = createGdbEngine();
|
cppEngine = createGdbEngine();
|
||||||
break;
|
break;
|
||||||
@@ -582,11 +583,12 @@ void DebuggerRunTool::start()
|
|||||||
default:
|
default:
|
||||||
if (!m_runParameters.isQmlDebugging) {
|
if (!m_runParameters.isQmlDebugging) {
|
||||||
reportFailure(DebuggerPlugin::tr("Unable to create a debugging engine. "
|
reportFailure(DebuggerPlugin::tr("Unable to create a debugging engine. "
|
||||||
"Please select a Debugger Setting from the Run page of the project mode."));
|
"Please select a Debugger Setting from the Run page of the project mode."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Can happen for pure Qml.
|
// Can happen for pure Qml.
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_runParameters.isQmlDebugging) {
|
if (m_runParameters.isQmlDebugging) {
|
||||||
@@ -650,7 +652,7 @@ const DebuggerRunParameters &DebuggerRunTool::runParameters() const
|
|||||||
|
|
||||||
bool DebuggerRunTool::isCppDebugging() const
|
bool DebuggerRunTool::isCppDebugging() const
|
||||||
{
|
{
|
||||||
return m_runParameters.isCppDebugging;
|
return m_runParameters.isCppDebugging();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DebuggerRunTool::isQmlDebugging() const
|
bool DebuggerRunTool::isQmlDebugging() const
|
||||||
@@ -726,7 +728,7 @@ bool DebuggerRunTool::fixupParameters()
|
|||||||
rp.debugger.environment.set(var, rp.inferior.environment.value(var));
|
rp.debugger.environment.set(var, rp.inferior.environment.value(var));
|
||||||
|
|
||||||
// validate debugger if C++ debugging is enabled
|
// validate debugger if C++ debugging is enabled
|
||||||
if (rp.isCppDebugging && !rp.validationErrors.isEmpty()) {
|
if (rp.isCppDebugging() && !rp.validationErrors.isEmpty()) {
|
||||||
reportFailure(rp.validationErrors.join('\n'));
|
reportFailure(rp.validationErrors.join('\n'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -762,7 +764,7 @@ bool DebuggerRunTool::fixupParameters()
|
|||||||
|
|
||||||
if (rp.isQmlDebugging) {
|
if (rp.isQmlDebugging) {
|
||||||
QmlDebug::QmlDebugServicesPreset service;
|
QmlDebug::QmlDebugServicesPreset service;
|
||||||
if (rp.isCppDebugging) {
|
if (rp.isCppDebugging()) {
|
||||||
if (rp.nativeMixedEnabled) {
|
if (rp.nativeMixedEnabled) {
|
||||||
service = QmlDebug::QmlNativeDebuggerServices;
|
service = QmlDebug::QmlNativeDebuggerServices;
|
||||||
} else {
|
} else {
|
||||||
@@ -772,7 +774,7 @@ bool DebuggerRunTool::fixupParameters()
|
|||||||
service = QmlDebug::QmlDebuggerServices;
|
service = QmlDebug::QmlDebuggerServices;
|
||||||
}
|
}
|
||||||
if (rp.startMode != AttachExternal && rp.startMode != AttachCrashedExternal) {
|
if (rp.startMode != AttachExternal && rp.startMode != AttachCrashedExternal) {
|
||||||
QString qmlarg = rp.isCppDebugging && rp.nativeMixedEnabled
|
QString qmlarg = rp.isCppDebugging() && rp.nativeMixedEnabled
|
||||||
? QmlDebug::qmlDebugNativeArguments(service, false)
|
? QmlDebug::qmlDebugNativeArguments(service, false)
|
||||||
: QmlDebug::qmlDebugTcpArguments(service, Port(rp.qmlServer.port()));
|
: QmlDebug::qmlDebugTcpArguments(service, Port(rp.qmlServer.port()));
|
||||||
QtcProcess::addArg(&rp.inferior.commandLineArguments, qmlarg);
|
QtcProcess::addArg(&rp.inferior.commandLineArguments, qmlarg);
|
||||||
@@ -805,7 +807,7 @@ bool DebuggerRunTool::fixupParameters()
|
|||||||
if (rp.isNativeMixedDebugging())
|
if (rp.isNativeMixedDebugging())
|
||||||
rp.inferior.environment.set("QV4_FORCE_INTERPRETER", "1");
|
rp.inferior.environment.set("QV4_FORCE_INTERPRETER", "1");
|
||||||
|
|
||||||
if (rp.isCppDebugging && !rp.skipExecutableValidation)
|
if (rp.isCppDebugging() && !rp.skipExecutableValidation)
|
||||||
rp.validateExecutable();
|
rp.validateExecutable();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -854,13 +856,13 @@ DebuggerRunTool::DebuggerRunTool(RunControl *runControl, Kit *kit, bool allowTer
|
|||||||
m_runParameters.qtPackageSourceLocation = qtVersion->qtPackageSourcePath().toString();
|
m_runParameters.qtPackageSourceLocation = qtVersion->qtPackageSourcePath().toString();
|
||||||
|
|
||||||
if (auto aspect = runConfig ? runConfig->extraAspect<DebuggerRunConfigurationAspect>() : nullptr) {
|
if (auto aspect = runConfig ? runConfig->extraAspect<DebuggerRunConfigurationAspect>() : nullptr) {
|
||||||
m_runParameters.isCppDebugging = aspect->useCppDebugger();
|
if (aspect->useCppDebugger())
|
||||||
|
m_runParameters.cppEngineType = DebuggerKitInformation::engineType(kit);
|
||||||
m_runParameters.isQmlDebugging = aspect->useQmlDebugger();
|
m_runParameters.isQmlDebugging = aspect->useQmlDebugger();
|
||||||
m_runParameters.multiProcess = aspect->useMultiProcess();
|
m_runParameters.multiProcess = aspect->useMultiProcess();
|
||||||
}
|
} else if (m_runParameters.isCppDebugging()) {
|
||||||
|
|
||||||
if (m_runParameters.isCppDebugging)
|
|
||||||
m_runParameters.cppEngineType = DebuggerKitInformation::engineType(kit);
|
m_runParameters.cppEngineType = DebuggerKitInformation::engineType(kit);
|
||||||
|
}
|
||||||
|
|
||||||
m_runParameters.inferior = runnable();
|
m_runParameters.inferior = runnable();
|
||||||
// Normalize to work around QTBUG-17529 (QtDeclarative fails with 'File name case mismatch'...)
|
// Normalize to work around QTBUG-17529 (QtDeclarative fails with 'File name case mismatch'...)
|
||||||
|
Reference in New Issue
Block a user