From fa2a115aa37c1de5a7e79e4eb77255c641d2396f Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Mon, 9 Nov 2009 16:25:24 +0100 Subject: [PATCH] debugger: use 'set substitute-path' --- src/plugins/debugger/debuggermanager.h | 1 + src/plugins/debugger/debuggerrunner.cpp | 16 ++++++++++++++++ src/plugins/debugger/gdb/gdbengine.cpp | 15 +++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 5e78170a1ec..05639618b2e 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -118,6 +118,7 @@ public: QString symbolFileName; QString serverStartScript; int toolChainType; + QString qtInstallPath; QString dumperLibrary; QStringList dumperLibraryLocations; diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 17e11a1e095..64b9f310f87 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -31,6 +31,7 @@ #include "debuggermanager.h" +#include <projectexplorer/debugginghelper.h> #include <projectexplorer/environment.h> #include <projectexplorer/project.h> #include <projectexplorer/projectexplorerconstants.h> @@ -170,6 +171,21 @@ DebuggerRunControl::DebuggerRunControl(DebuggerManager *manager, runConfiguration->dumperLibrary(); m_startParameters->dumperLibraryLocations = runConfiguration->dumperLibraryLocations(); + + QString qmakePath = ProjectExplorer::DebuggingHelperLibrary::findSystemQt( + runConfiguration->environment()); + if (!qmakePath.isEmpty()) { + QProcess proc; + QStringList args; + args.append(QLatin1String("-query")); + args.append(QLatin1String("QT_INSTALL_HEADERS")); + proc.start(qmakePath, args); + proc.waitForFinished(); + QByteArray ba = proc.readAllStandardOutput().trimmed(); + QFileInfo fi(QString::fromLocal8Bit(ba) + "/.."); + m_startParameters->qtInstallPath = fi.absoluteFilePath(); + } + } void DebuggerRunControl::start() diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 4a7f5e9fac7..11e0860b11c 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -4427,6 +4427,21 @@ void GdbEngine::handleAdapterStarted() void GdbEngine::handleInferiorPrepared() { + const QString qtInstallPath = m_startParameters->qtInstallPath; + if (!qtInstallPath.isEmpty()) { + QString qtBuildPath = + #if defined(Q_OS_WIN) + _("C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.6/qt"); + #elif defined(Q_OS_MAC) + QString(); + #else + _("/var/tmp/qt-x11-src-4.6.0"); + #endif + if (!qtBuildPath.isEmpty()) + postCommand(_("set substitute-path %1 %2") + .arg(qtBuildPath).arg(qtInstallPath)); + } + // Initial attempt to set breakpoints showStatusMessage(tr("Setting breakpoints...")); attemptBreakpointSynchronization(); -- GitLab