Compile Windows.

This commit is contained in:
Friedemann Kleint
2010-06-22 12:28:05 +02:00
parent 0344b728e9
commit ecff29be07
6 changed files with 26 additions and 19 deletions

View File

@@ -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, /**/);