forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.11'
Conflicts: share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp Change-Id: I8ea57eba526ab830608fd928c28771c5441749f8
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 "
|
||||
|
||||
Reference in New Issue
Block a user