aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerrunner.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <[email protected]>2010-06-22 12:28:05 +0200
committerFriedemann Kleint <[email protected]>2010-06-22 12:28:05 +0200
commitecff29be07487535d79340216a686947770915eb (patch)
tree2f51e4592f5aa693249618549b0578155ef78af5 /src/plugins/debugger/debuggerrunner.cpp
parent0344b728e94e4fb31b5ee3f87c5eb307a0ceed64 (diff)
Compile Windows.
Diffstat (limited to 'src/plugins/debugger/debuggerrunner.cpp')
-rw-r--r--src/plugins/debugger/debuggerrunner.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index cd891a1f2d8..129b5d0e665 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -35,6 +35,10 @@
#include "debuggerplugin.h"
#include "debuggerstringutils.h"
+#ifdef Q_OS_WIN
+# include "peutils.h"
+#endif
+
#include <projectexplorer/debugginghelper.h>
#include <projectexplorer/environment.h>
#include <projectexplorer/project.h>
@@ -50,6 +54,7 @@
#include <QtCore/QDir>
#include <QtCore/QFileInfo>
#include <QtCore/QTimer>
+#include <QtCore/QStringList>
#include <QtGui/QAbstractItemView>
#include <QtGui/QTextDocument>
@@ -257,21 +262,21 @@ DebuggerEngineType DebuggerRunControl::engineForExecutable(const QString &execut
#ifdef Q_OS_WIN
// A remote executable?
if (!executable.endsWith(_(".exe")))
- return GdbEngineType
+ return GdbEngineType;
// If a file has PDB files, it has been compiled by VS.
QStringList pdbFiles;
- if (!getPDBFiles(executable, &pdbFiles, errorMessage)) {
+ if (!getPDBFiles(executable, &pdbFiles, &m_errorMessage)) {
qWarning("Cannot determine type of executable %s: %s",
qPrintable(executable), qPrintable(m_errorMessage));
- return 0;
+ return NoEngineType;
}
if (pdbFiles.empty())
return GdbEngineType;
// We need the CDB debugger in order to be able to debug VS
// executables
- if (checkDebugConfiguration(ToolChain::MSVC, errorMessage, 0, &m_settingsIdHint))
+ if (checkDebugConfiguration(ToolChain::MSVC, &m_errorMessage, 0, &m_settingsIdHint))
return CdbEngineType;
#else
if (m_enabledEngines & GdbEngineType)
@@ -290,10 +295,9 @@ DebuggerEngineType DebuggerRunControl::engineForMode(DebuggerStartMode startMode
#ifdef Q_OS_WIN
// Preferably Windows debugger for attaching locally.
- if (startMode != AttachToRemote && cdbEngine)
+ if (startMode != AttachToRemote)
return CdbEngineType;
- if (gdbEngine)
- return GdbEngineType;
+ return GdbEngineType;
m_errorMessage = msgEngineNotAvailable("Gdb Engine");
return NoEngineType;
#else
@@ -333,7 +337,7 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &sp)
if (!engineType)
engineType = engineForMode(sp.startMode);
- //qDebug() << "USING ENGINE : " << engineType;
+ // qDebug() << "USING ENGINE : " << engineType;
switch (engineType) {
case GdbEngineType:
@@ -513,6 +517,12 @@ bool DebuggerRunControl::isRunning() const
return m_running;
}
+DebuggerState DebuggerRunControl::state() const
+{
+ QTC_ASSERT(m_engine, return DebuggerNotReady);
+ return m_engine->state();
+}
+
Internal::DebuggerEngine *DebuggerRunControl::engine()
{
QTC_ASSERT(m_engine, /**/);