forked from qt-creator/qt-creator
debugger: use 'set substitute-path'
This commit is contained in:
@@ -118,6 +118,7 @@ public:
|
||||
QString symbolFileName;
|
||||
QString serverStartScript;
|
||||
int toolChainType;
|
||||
QString qtInstallPath;
|
||||
|
||||
QString dumperLibrary;
|
||||
QStringList dumperLibraryLocations;
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user