Merge remote-tracking branch 'origin/4.11'

Conflicts:
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp

Change-Id: I8ea57eba526ab830608fd928c28771c5441749f8
This commit is contained in:
Eike Ziller
2019-11-01 15:31:19 +01:00
170 changed files with 2592 additions and 526 deletions

View File

@@ -1065,6 +1065,7 @@ QVariant BreakpointItem::data(int column, int role) const
if (role == Qt::DisplayRole) {
if (!m_parameters.functionName.isEmpty())
return simplifyType(m_parameters.functionName);
if (m_parameters.type == BreakpointAtMain
|| m_parameters.type == BreakpointAtThrow
|| m_parameters.type == BreakpointAtCatch
@@ -1073,15 +1074,13 @@ QVariant BreakpointItem::data(int column, int role) const
//|| m_response.type == BreakpointAtVFork
|| m_parameters.type == BreakpointAtSysCall)
return typeToString(m_parameters.type);
if (m_parameters.type == WatchpointAtAddress) {
quint64 address = m_parameters.address ? m_parameters.address : m_parameters.address;
return BreakHandler::tr("Data at 0x%1").arg(address, 0, 16);
}
if (m_parameters.type == WatchpointAtExpression) {
QString expression = !m_parameters.expression.isEmpty()
? m_parameters.expression : m_parameters.expression;
return BreakHandler::tr("Data at %1").arg(expression);
}
if (m_parameters.type == WatchpointAtAddress)
return BreakHandler::tr("Data at 0x%1").arg(m_parameters.address, 0, 16);
if (m_parameters.type == WatchpointAtExpression)
return BreakHandler::tr("Data at %1").arg(m_parameters.expression);
return empty;
}
break;

View File

@@ -394,14 +394,7 @@ void CdbEngine::setupEngine()
if (!sourcePaths.isEmpty())
debugger.addArgs({"-srcpath", sourcePaths.join(';')});
QStringList symbolPaths = stringListSetting(CdbSymbolPaths);
QString symbolPath = sp.inferior.environment.expandedValueForKey("_NT_ALT_SYMBOL_PATH");
if (!symbolPath.isEmpty())
symbolPaths += symbolPath;
symbolPath = sp.inferior.environment.expandedValueForKey("_NT_SYMBOL_PATH");
if (!symbolPath.isEmpty())
symbolPaths += symbolPath;
debugger.addArgs({"-y", symbolPaths.join(';')});
debugger.addArgs({"-y", QChar('"') + stringListSetting(CdbSymbolPaths).join(';') + '"'});
switch (sp.startMode) {
case StartInternal:
@@ -501,6 +494,16 @@ void CdbEngine::handleInitialSessionIdle()
}
// Take ownership of the breakpoint. Requests insertion. TODO: Cpp only?
BreakpointManager::claimBreakpointsForEngine(this);
QStringList symbolPaths = stringListSetting(CdbSymbolPaths);
QString symbolPath = rp.inferior.environment.expandedValueForKey("_NT_ALT_SYMBOL_PATH");
if (!symbolPath.isEmpty())
symbolPaths += symbolPath;
symbolPath = rp.inferior.environment.expandedValueForKey("_NT_SYMBOL_PATH");
if (!symbolPath.isEmpty())
symbolPaths += symbolPath;
runCommand({QString(".sympath \"") + symbolPaths.join(';') + '"'});
runCommand({".symopt+0x8000"}); // disable searching public symbol table - improving the symbol lookup speed
runCommand({"sxn 0x4000001f", NoFlags}); // Do not break on WowX86 exceptions.
runCommand({"sxn ibp", NoFlags}); // Do not break on initial breakpoints.

View File

@@ -381,6 +381,11 @@ static DebuggerItem::MatchLevel matchSingle(const Abi &debuggerAbi, const Abi &t
return DebuggerItem::DoesNotMatch;
// We have at least 'Matches well' now. Mark the combinations we really like.
if (HostOsInfo::isWindowsHost() && engineType == CdbEngineType
&& targetAbi.osFlavor() >= Abi::WindowsMsvc2005Flavor
&& targetAbi.osFlavor() <= Abi::WindowsLastMsvcFlavor) {
return DebuggerItem::MatchesPerfectly;
}
if (HostOsInfo::isWindowsHost() && engineType == GdbEngineType && targetAbi.osFlavor() == Abi::WindowsMSysFlavor)
return DebuggerItem::MatchesPerfectly;
if (HostOsInfo::isLinuxHost() && engineType == GdbEngineType && targetAbi.os() == Abi::LinuxOS)

View File

@@ -806,7 +806,7 @@ void GdbEngine::runCommand(const DebuggerCommand &command)
int GdbEngine::commandTimeoutTime() const
{
int time = action(GdbWatchdogTimeout)->value().toInt();
return 1000 * qMax(40, time);
return 1000 * qMax(20, time);
}
void GdbEngine::commandTimeout()

View File

@@ -111,9 +111,6 @@ QVariant ModuleItem::data(int column, int role) const
"information.\nStepping into the module or setting "
"breakpoints by file and line will not work.");
case PlainSymbols:
return tr("This module contains debug information.\nStepping "
"into the module or setting breakpoints by file and "
"line is expected to work.");
case FastSymbols:
return tr("This module contains debug information.\nStepping "
"into the module or setting breakpoints by file and "