From a7eccce733afe981dd4254816b5f23868f6cede6 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Mon, 10 Jan 2011 10:14:23 +0100
Subject: [PATCH] Debugger: Header cleanup

---
 src/plugins/debugger/breakpointmarker.cpp     |   7 +-
 src/plugins/debugger/breakpointmarker.h       |   5 +-
 src/plugins/debugger/breakwindow.cpp          |   6 -
 src/plugins/debugger/breakwindow.h            |   2 +-
 src/plugins/debugger/cdb2/cdbengine2.cpp      |   3 +
 src/plugins/debugger/debuggeractions.cpp      |   9 -
 src/plugins/debugger/debuggeractions.h        |   1 -
 src/plugins/debugger/debuggercore.h           |   4 -
 src/plugins/debugger/debuggerengine.cpp       |  13 +-
 src/plugins/debugger/debuggerengine.h         |  14 +-
 src/plugins/debugger/debuggerplugin.cpp       |   2 +
 src/plugins/debugger/debuggerplugin.h         |   2 -
 src/plugins/debugger/debuggerrunner.cpp       |   1 +
 src/plugins/debugger/debuggerrunner.h         |   1 -
 .../debugger/debuggerstartparameters.h        |   1 +
 src/plugins/debugger/debuggerstreamops.cpp    |   6 +
 src/plugins/debugger/debuggerstreamops.h      |  14 +-
 src/plugins/debugger/disassembleragent.cpp    |   3 +-
 src/plugins/debugger/disassembleragent.h      |  10 +-
 .../debugger/gdb/abstractgdbadapter.cpp       |   1 +
 .../debugger/gdb/abstractplaingdbadapter.cpp  |   1 +
 src/plugins/debugger/gdb/attachgdbadapter.cpp |   1 +
 src/plugins/debugger/gdb/classicgdbengine.cpp |   4 +-
 src/plugins/debugger/gdb/coregdbadapter.cpp   |   1 +
 src/plugins/debugger/gdb/gdbengine.cpp        |   2 +
 .../debugger/gdb/localplaingdbadapter.cpp     |   1 +
 .../debugger/gdb/remotegdbserveradapter.cpp   |   1 +
 .../debugger/gdb/remoteplaingdbadapter.cpp    |   1 +
 src/plugins/debugger/gdb/tcftrkgdbadapter.cpp |   2 +
 src/plugins/debugger/gdb/termgdbadapter.cpp   |   2 +
 src/plugins/debugger/gdb/trkgdbadapter.cpp    |   1 +
 src/plugins/debugger/lldb/ipcenginehost.cpp   |   1 +
 src/plugins/debugger/lldb/lldbenginehost.cpp  |   1 +
 src/plugins/debugger/moduleshandler.h         |   3 +-
 src/plugins/debugger/pdb/pdbengine.cpp        |   1 +
 src/plugins/debugger/qml/qmladapter.cpp       |   2 +
 src/plugins/debugger/qml/qmlcppengine.cpp     |   1 +
 src/plugins/debugger/qml/qmlengine.cpp        |   1 +
 src/plugins/debugger/script/scriptengine.cpp  |   1 +
 src/plugins/debugger/snapshothandler.cpp      |   1 +
 src/plugins/debugger/sourceagent.cpp          |   3 +-
 src/plugins/debugger/sourceagent.h            |   4 -
 src/plugins/debugger/tcf/tcfengine.cpp        |   1 +
 src/plugins/debugger/threaddata.h             |   4 +-
 src/plugins/debugger/threadshandler.h         |   2 -
 src/plugins/debugger/watchutils.cpp           | 309 ++----------------
 src/plugins/debugger/watchutils.h             |  13 +-
 .../qmlprojectruncontrol.cpp                  |   1 +
 .../qt-maemo/maemodebugsupport.cpp            |   1 +
 .../qt-s60/s60devicerunconfiguration.cpp      |   1 +
 .../qt4projectmanager/qt-s60/s60manager.cpp   |   1 +
 51 files changed, 99 insertions(+), 375 deletions(-)

diff --git a/src/plugins/debugger/breakpointmarker.cpp b/src/plugins/debugger/breakpointmarker.cpp
index a6781cf79e2..9aa4029f1ef 100644
--- a/src/plugins/debugger/breakpointmarker.cpp
+++ b/src/plugins/debugger/breakpointmarker.cpp
@@ -35,12 +35,7 @@
 #include "breakhandler.h"
 #include "debuggercore.h"
 
-#include <texteditor/basetextmark.h>
-#include <utils/qtcassert.h>
-
-#include <QtCore/QByteArray>
-#include <QtCore/QDebug>
-
+#include <QtGui/QIcon>
 
 //////////////////////////////////////////////////////////////////
 //
diff --git a/src/plugins/debugger/breakpointmarker.h b/src/plugins/debugger/breakpointmarker.h
index f4aafb65f67..cd03c89a43a 100644
--- a/src/plugins/debugger/breakpointmarker.h
+++ b/src/plugins/debugger/breakpointmarker.h
@@ -34,11 +34,8 @@
 #ifndef DEBUGGER_BREAKPOINTMARKER_H
 #define DEBUGGER_BREAKPOINTMARKER_H
 
-#include <QtCore/QString>
-#include <QtGui/QIcon>
-
 #include "breakpoint.h"
-#include "breakhandler.h"
+
 #include <texteditor/basetextmark.h>
 
 namespace Debugger {
diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp
index 91604c9f640..85b36694cfd 100644
--- a/src/plugins/debugger/breakwindow.cpp
+++ b/src/plugins/debugger/breakwindow.cpp
@@ -46,15 +46,9 @@
 #include <QtCore/QDebug>
 
 #include <QtGui/QAction>
-#include <QtGui/QHeaderView>
 #include <QtGui/QIntValidator>
-#include <QtGui/QItemSelectionModel>
 #include <QtGui/QKeyEvent>
 #include <QtGui/QMenu>
-#include <QtGui/QResizeEvent>
-#include <QtGui/QToolButton>
-#include <QtGui/QTreeView>
-
 
 namespace Debugger {
 namespace Internal {
diff --git a/src/plugins/debugger/breakwindow.h b/src/plugins/debugger/breakwindow.h
index db3b77df68b..bfd948fd9a3 100644
--- a/src/plugins/debugger/breakwindow.h
+++ b/src/plugins/debugger/breakwindow.h
@@ -34,7 +34,7 @@
 #ifndef DEBUGGER_BREAKWINDOW_H
 #define DEBUGGER_BREAKWINDOW_H
 
-#include "breakhandler.h"
+#include "breakpoint.h"
 
 #include <QtGui/QTreeView>
 
diff --git a/src/plugins/debugger/cdb2/cdbengine2.cpp b/src/plugins/debugger/cdb2/cdbengine2.cpp
index 0c710d1f8a3..64f1af637ba 100644
--- a/src/plugins/debugger/cdb2/cdbengine2.cpp
+++ b/src/plugins/debugger/cdb2/cdbengine2.cpp
@@ -32,6 +32,8 @@
 **************************************************************************/
 
 #include "cdbengine2.h"
+#include "debuggerstartparameters.h"
+#include "disassemblerlines.h"
 #include "cdboptions2.h"
 #include "cdboptionspage2.h"
 #include "bytearrayinputstream.h"
@@ -41,6 +43,7 @@
 #include "stackhandler.h"
 #include "watchhandler.h"
 #include "threadshandler.h"
+#include "moduleshandler.h"
 #include "debuggeractions.h"
 #include "debuggercore.h"
 #include "registerhandler.h"
diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp
index 4068fb9f64b..f317291e587 100644
--- a/src/plugins/debugger/debuggeractions.cpp
+++ b/src/plugins/debugger/debuggeractions.cpp
@@ -36,8 +36,6 @@
 #include "registerpostmortemaction.h"
 #endif
 
-#include <projectexplorer/toolchain.h>
-
 #include <utils/savedaction.h>
 #include <utils/qtcassert.h>
 #include <utils/pathchooser.h>
@@ -45,13 +43,6 @@
 #include <QtCore/QDebug>
 #include <QtCore/QVariant>
 #include <QtCore/QSettings>
-#include <QtCore/QFileInfo>
-
-#include <QtGui/QAction>
-#include <QtGui/QAbstractButton>
-#include <QtGui/QRadioButton>
-#include <QtGui/QCheckBox>
-#include <QtGui/QLineEdit>
 
 using namespace Utils;
 
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index adf73d26a59..00e18a52dd0 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -35,7 +35,6 @@
 #define DEBUGGER_ACTIONS_H
 
 #include <QtCore/QHash>
-#include <QtCore/QMap>
 
 QT_BEGIN_NAMESPACE
 class QSettings;
diff --git a/src/plugins/debugger/debuggercore.h b/src/plugins/debugger/debuggercore.h
index a925f5a0a05..763cb7cdd87 100644
--- a/src/plugins/debugger/debuggercore.h
+++ b/src/plugins/debugger/debuggercore.h
@@ -34,12 +34,9 @@
 #ifndef DEBUGGERCORE_H
 #define DEBUGGERCORE_H
 
-#include "debugger_global.h"
 #include "debuggerconstants.h"
 
 #include <QtCore/QObject>
-#include <QtCore/QMultiMap>
-#include <QtCore/QVector>
 
 QT_BEGIN_NAMESPACE
 class QIcon;
@@ -58,7 +55,6 @@ class SavedAction;
 namespace Debugger {
 
 class DebuggerEngine;
-class DebuggerStartParameters;
 
 namespace Internal {
 
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 3458de14a86..6ada703f9c9 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -39,6 +39,7 @@
 #include "debuggerrunner.h"
 #include "debuggerstringutils.h"
 #include "debuggertooltip.h"
+#include "debuggerstartparameters.h"
 
 #include "memoryagent.h"
 #include "disassembleragent.h"
@@ -63,7 +64,6 @@
 #include <texteditor/itexteditor.h>
 #include <texteditor/basetextmark.h>
 
-#include <utils/environment.h>
 #include <utils/savedaction.h>
 #include <utils/qtcassert.h>
 
@@ -95,6 +95,17 @@ using namespace TextEditor;
 
 namespace Debugger {
 
+Internal::Location::Location(const StackFrame &frame, bool marker)
+{
+    init();
+    m_fileName = frame.file;
+    m_lineNumber = frame.line;
+    m_needsMarker = marker;
+    m_functionName = frame.function;
+    m_hasDebugInfo = frame.isUsable();
+    m_address = frame.address;
+}
+
 QDebug operator<<(QDebug d, DebuggerState state)
 {
     //return d << DebuggerEngine::stateName(state) << '(' << int(state) << ')';
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 42673f8bd98..b13820f41aa 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -36,13 +36,7 @@
 
 #include "debugger_global.h"
 #include "debuggerconstants.h"
-#include "debuggerstartparameters.h"
-#include "moduleshandler.h" // For 'Symbols'
 #include "breakpoint.h" // For 'BreakpointId'
-#include "stackframe.h"
-
-#include <coreplugin/ssh/sshconnection.h>
-#include <utils/environment.h>
 
 #include <QtCore/QObject>
 #include <QtCore/QStringList>
@@ -51,6 +45,7 @@ QT_BEGIN_NAMESPACE
 class QDebug;
 class QPoint;
 class QMessageBox;
+class QAbstractItemModel;
 QT_END_NAMESPACE
 
 namespace TextEditor {
@@ -65,7 +60,7 @@ namespace Debugger {
 
 class DebuggerEnginePrivate;
 class DebuggerRunControl;
-
+class DebuggerStartParameters;
 
 DEBUGGER_EXPORT QDebug operator<<(QDebug str, const DebuggerStartParameters &);
 DEBUGGER_EXPORT QDebug operator<<(QDebug str, DebuggerState state);
@@ -101,10 +96,7 @@ public:
     Location(const QString &file) { init(); m_fileName = file; }
     Location(const QString &file, int line, bool marker = true)
         { init(); m_lineNumber = line; m_fileName = file; m_needsMarker = marker; }
-    Location(const StackFrame &frame, bool marker = true) //: m_frame(frame)
-        { init(); m_fileName = frame.file; m_lineNumber = frame.line;
-          m_needsMarker = marker; m_functionName = frame.function;
-          m_hasDebugInfo = frame.isUsable(); m_address = frame.address; }
+    Location(const StackFrame &frame, bool marker = true);
     QString fileName() const { return m_fileName; }
     QString functionName() const { return m_functionName; }
     int lineNumber() const { return m_lineNumber; }
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 56f1346555f..af968cb2565 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -33,6 +33,7 @@
 
 #include "debuggerplugin.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggeractions.h"
 #include "debuggerconstants.h"
 #include "debuggercore.h"
@@ -50,6 +51,7 @@
 #include "disassembleragent.h"
 #include "logwindow.h"
 #include "moduleswindow.h"
+#include "moduleshandler.h"
 #include "registerwindow.h"
 #include "snapshotwindow.h"
 #include "stackhandler.h"
diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h
index bb811bf9f29..cd20250eec9 100644
--- a/src/plugins/debugger/debuggerplugin.h
+++ b/src/plugins/debugger/debuggerplugin.h
@@ -38,8 +38,6 @@
 
 #include <extensionsystem/iplugin.h>
 
-#include <QtCore/QObject>
-
 namespace ProjectExplorer {
 class RunConfiguration;
 class RunControl;
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 2be0abb040b..1b0e4c13184 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -39,6 +39,7 @@
 #include "debuggermainwindow.h"
 #include "debuggerplugin.h"
 #include "debuggerstringutils.h"
+#include "debuggerstartparameters.h"
 #include "gdb/gdboptionspage.h"
 #include "lldb/lldbenginehost.h"
 
diff --git a/src/plugins/debugger/debuggerrunner.h b/src/plugins/debugger/debuggerrunner.h
index 0c87d4d76b5..2167a7cd475 100644
--- a/src/plugins/debugger/debuggerrunner.h
+++ b/src/plugins/debugger/debuggerrunner.h
@@ -35,7 +35,6 @@
 #define DEBUGGERRUNNER_H
 
 #include "debugger_global.h"
-#include "debuggerconstants.h"
 
 #include <projectexplorer/runconfiguration.h>
 
diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h
index d2a07770a87..e35773567ec 100644
--- a/src/plugins/debugger/debuggerstartparameters.h
+++ b/src/plugins/debugger/debuggerstartparameters.h
@@ -35,6 +35,7 @@
 #define DEBUGGER_DEBUGGERSTARTPARAMETERS_H
 
 #include "debugger_global.h"
+#include "debuggerconstants.h"
 
 #include <coreplugin/ssh/sshconnection.h>
 #include <utils/environment.h>
diff --git a/src/plugins/debugger/debuggerstreamops.cpp b/src/plugins/debugger/debuggerstreamops.cpp
index ffa9cd23176..057bf2d2b07 100644
--- a/src/plugins/debugger/debuggerstreamops.cpp
+++ b/src/plugins/debugger/debuggerstreamops.cpp
@@ -33,6 +33,12 @@
 
 #include "debuggerstreamops.h"
 
+#include "breakpoint.h"
+#include "watchdata.h"
+#include "disassemblerlines.h"
+
+#include <QtCore/QDataStream>
+
 namespace Debugger {
 namespace Internal {
 
diff --git a/src/plugins/debugger/debuggerstreamops.h b/src/plugins/debugger/debuggerstreamops.h
index 156308639f3..b473e9d5a1e 100644
--- a/src/plugins/debugger/debuggerstreamops.h
+++ b/src/plugins/debugger/debuggerstreamops.h
@@ -34,18 +34,20 @@
 #ifndef DEBUGGERPLUGIN_STREAMOPS_H
 #define DEBUGGERPLUGIN_STREAMOPS_H
 
-#include "breakpoint.h"
-#include "stackframe.h"
 #include "threaddata.h"
-#include "watchdata.h"
-#include "disassemblerlines.h"
+#include "stackframe.h"
 
-#include <QtCore/QDataStream>
-#include <QtCore/QVector>
+QT_FORWARD_DECLARE_CLASS(QDataStream)
 
 namespace Debugger {
 namespace Internal {
 
+class BreakpointParameters;
+class BreakpointResponse;
+class WatchData;
+class DisassemblerLine;
+class DisassemblerLines;
+
 QDataStream &operator<<(QDataStream& stream, const ThreadData &thread);
 QDataStream &operator>>(QDataStream& stream, ThreadData &threads);
 QDataStream &operator<<(QDataStream& stream, const Threads &threads);
diff --git a/src/plugins/debugger/disassembleragent.cpp b/src/plugins/debugger/disassembleragent.cpp
index 00d438ff52e..18f82af0dc1 100644
--- a/src/plugins/debugger/disassembleragent.cpp
+++ b/src/plugins/debugger/disassembleragent.cpp
@@ -33,6 +33,7 @@
 
 #include "disassembleragent.h"
 
+#include "disassemblerlines.h"
 #include "breakhandler.h"
 #include "debuggerengine.h"
 #include "debuggercore.h"
@@ -54,7 +55,7 @@
 
 #include <QtGui/QTextBlock>
 #include <QtGui/QIcon>
-
+#include <QtCore/QPointer>
 
 using namespace Core;
 
diff --git a/src/plugins/debugger/disassembleragent.h b/src/plugins/debugger/disassembleragent.h
index 975df0707d4..5e57b378f09 100644
--- a/src/plugins/debugger/disassembleragent.h
+++ b/src/plugins/debugger/disassembleragent.h
@@ -34,21 +34,14 @@
 #ifndef DEBUGGER_DISASSEMBLERAGENT_H
 #define DEBUGGER_DISASSEMBLERAGENT_H
 
-#include "disassemblerlines.h"
-
 #include <QtCore/QObject>
-#include <QtCore/QPointer>
-
-namespace Core {
-class IEditor;
-}
 
 namespace Debugger {
 
 class DebuggerEngine;
 
 namespace Internal {
-
+class DisassemblerLines;
 class Location;
 class DisassemblerAgentPrivate;
 
@@ -85,7 +78,6 @@ private:
     DisassemblerAgentPrivate *d;
 };
 
-
 } // namespace Internal
 } // namespace Debugger
 
diff --git a/src/plugins/debugger/gdb/abstractgdbadapter.cpp b/src/plugins/debugger/gdb/abstractgdbadapter.cpp
index 92cd683fcc6..81c43cd9784 100644
--- a/src/plugins/debugger/gdb/abstractgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/abstractgdbadapter.cpp
@@ -33,6 +33,7 @@
 
 #include "abstractgdbadapter.h"
 #include "gdbengine.h"
+#include "debuggerstartparameters.h"
 #include "abstractgdbprocess.h"
 
 #include <utils/qtcassert.h>
diff --git a/src/plugins/debugger/gdb/abstractplaingdbadapter.cpp b/src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
index 5f047ec54a4..bc78a68e386 100644
--- a/src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
@@ -34,6 +34,7 @@
 #include "abstractplaingdbadapter.h"
 #include "gdbmi.h"
 #include "gdbengine.h"
+#include "debuggerstartparameters.h"
 #include "debuggeractions.h"
 #include "debuggercore.h"
 #include "debuggerstringutils.h"
diff --git a/src/plugins/debugger/gdb/attachgdbadapter.cpp b/src/plugins/debugger/gdb/attachgdbadapter.cpp
index f594b38956d..47a5c843a56 100644
--- a/src/plugins/debugger/gdb/attachgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/attachgdbadapter.cpp
@@ -33,6 +33,7 @@
 
 #include "attachgdbadapter.h"
 #include "gdbmi.h"
+#include "debuggerstartparameters.h"
 
 #include "gdbengine.h"
 #include "procinterrupt.h"
diff --git a/src/plugins/debugger/gdb/classicgdbengine.cpp b/src/plugins/debugger/gdb/classicgdbengine.cpp
index 644c3b3fdf4..58bb68f86b4 100644
--- a/src/plugins/debugger/gdb/classicgdbengine.cpp
+++ b/src/plugins/debugger/gdb/classicgdbengine.cpp
@@ -34,6 +34,7 @@
 #include "gdbengine.h"
 #include "gdbmi.h"
 
+#include "debuggerstartparameters.h"
 #include "abstractgdbadapter.h"
 #include "debuggeractions.h"
 #include "debuggercore.h"
@@ -179,8 +180,7 @@ void GdbEngine::runDebuggingHelperClassic(const WatchData &data0, bool dumpChild
     QByteArray params;
     QList<QByteArray> extraArgs;
     const QtDumperHelper::TypeData td = m_dumperHelper.typeData(data0.type);
-    m_dumperHelper.evaluationParameters(data, td, QtDumperHelper::GdbDebugger,
-        &params, &extraArgs);
+    m_dumperHelper.evaluationParameters(data, td, &params, &extraArgs);
 
     //int protocol = (data.iname.startsWith("watch") && data.type == "QImage") ? 3 : 2;
     //int protocol = data.iname.startsWith("watch") ? 3 : 2;
diff --git a/src/plugins/debugger/gdb/coregdbadapter.cpp b/src/plugins/debugger/gdb/coregdbadapter.cpp
index 5f37b36333d..72ac3c5f2c6 100644
--- a/src/plugins/debugger/gdb/coregdbadapter.cpp
+++ b/src/plugins/debugger/gdb/coregdbadapter.cpp
@@ -33,6 +33,7 @@
 
 #include "coregdbadapter.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggercore.h"
 #include "debuggeractions.h"
 #include "debuggerstringutils.h"
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 02f754b675e..22b60d5c0f7 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -35,6 +35,8 @@
 
 #include "gdbengine.h"
 
+#include "debuggerstartparameters.h"
+#include "disassemblerlines.h"
 #include "attachgdbadapter.h"
 #include "coregdbadapter.h"
 #include "localplaingdbadapter.h"
diff --git a/src/plugins/debugger/gdb/localplaingdbadapter.cpp b/src/plugins/debugger/gdb/localplaingdbadapter.cpp
index 83715e1847b..562e3e6fb8b 100644
--- a/src/plugins/debugger/gdb/localplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/localplaingdbadapter.cpp
@@ -34,6 +34,7 @@
 #include "localplaingdbadapter.h"
 
 #include "gdbengine.h"
+#include "debuggerstartparameters.h"
 #include "procinterrupt.h"
 #include "debuggercore.h"
 #include "debuggerstringutils.h"
diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
index 0afddf18546..65e3500b355 100644
--- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp
@@ -33,6 +33,7 @@
 
 #include "remotegdbserveradapter.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggercore.h"
 #include "debuggerstringutils.h"
 #include "gdbengine.h"
diff --git a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
index 46823086c89..3e150051b0e 100644
--- a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
@@ -33,6 +33,7 @@
 
 #include "remoteplaingdbadapter.h"
 #include "gdbengine.h"
+#include "debuggerstartparameters.h"
 
 #include <debugger/debuggeractions.h>
 #include <debugger/debuggerstringutils.h>
diff --git a/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp b/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
index 993f1ae4cff..1845fbdd07e 100644
--- a/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
@@ -32,6 +32,8 @@
 **************************************************************************/
 
 #include "tcftrkgdbadapter.h"
+
+#include "debuggerstartparameters.h"
 #include "tcftrkdevice.h"
 #include "trkutils.h"
 #include "gdbmi.h"
diff --git a/src/plugins/debugger/gdb/termgdbadapter.cpp b/src/plugins/debugger/gdb/termgdbadapter.cpp
index e500269f2ab..a8273bfe84a 100644
--- a/src/plugins/debugger/gdb/termgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/termgdbadapter.cpp
@@ -32,6 +32,8 @@
 **************************************************************************/
 
 #include "termgdbadapter.h"
+
+#include "debuggerstartparameters.h"
 #include "gdbmi.h"
 #include "gdbengine.h"
 #include "procinterrupt.h"
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 61af444278a..640757dd115 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -33,6 +33,7 @@
 
 #include "trkgdbadapter.h"
 
+#include "debuggerstartparameters.h"
 #include "gdbmi.h"
 #include "launcher.h"
 #include "symbiandevicemanager.h"
diff --git a/src/plugins/debugger/lldb/ipcenginehost.cpp b/src/plugins/debugger/lldb/ipcenginehost.cpp
index 66d205ad012..e637d9bc5ea 100644
--- a/src/plugins/debugger/lldb/ipcenginehost.cpp
+++ b/src/plugins/debugger/lldb/ipcenginehost.cpp
@@ -34,6 +34,7 @@
 #include "ipcenginehost.h"
 
 #include "ipcengineguest.h"
+#include "debuggerstartparameters.h"
 #include "breakhandler.h"
 #include "breakpoint.h"
 #include "disassemblerlines.h"
diff --git a/src/plugins/debugger/lldb/lldbenginehost.cpp b/src/plugins/debugger/lldb/lldbenginehost.cpp
index f9f52f39704..8fd5fffbbd0 100644
--- a/src/plugins/debugger/lldb/lldbenginehost.cpp
+++ b/src/plugins/debugger/lldb/lldbenginehost.cpp
@@ -35,6 +35,7 @@
 
 #include "lldbenginehost.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggeractions.h"
 #include "debuggerconstants.h"
 #include "debuggerdialogs.h"
diff --git a/src/plugins/debugger/moduleshandler.h b/src/plugins/debugger/moduleshandler.h
index 97a49be0b39..b5aecd8b208 100644
--- a/src/plugins/debugger/moduleshandler.h
+++ b/src/plugins/debugger/moduleshandler.h
@@ -36,8 +36,9 @@
 
 #include <QtCore/QVector>
 #include <QtCore/QObject>
-#include <QtGui/QSortFilterProxyModel>
+#include <QtCore/QAbstractItemModel>
 
+QT_FORWARD_DECLARE_CLASS(QSortFilterProxyModel)
 
 namespace Debugger {
 namespace Internal {
diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp
index 15d20470534..a4e8052c3b0 100644
--- a/src/plugins/debugger/pdb/pdbengine.cpp
+++ b/src/plugins/debugger/pdb/pdbengine.cpp
@@ -35,6 +35,7 @@
 
 #include "pdbengine.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggeractions.h"
 #include "debuggercore.h"
 #include "debuggerdialogs.h"
diff --git a/src/plugins/debugger/qml/qmladapter.cpp b/src/plugins/debugger/qml/qmladapter.cpp
index 98ea73fad0f..ffa00136870 100644
--- a/src/plugins/debugger/qml/qmladapter.cpp
+++ b/src/plugins/debugger/qml/qmladapter.cpp
@@ -32,6 +32,8 @@
 **************************************************************************/
 
 #include "qmladapter.h"
+
+#include "debuggerstartparameters.h"
 #include "qmldebuggerclient.h"
 #include "qmljsprivateapi.h"
 
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index c9741c332ed..5fec32b39f9 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -1,4 +1,5 @@
 #include "qmlcppengine.h"
+#include "debuggerstartparameters.h"
 #include "qmlengine.h"
 #include "debuggermainwindow.h"
 #include "debuggercore.h"
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 633e306e7fa..b930cadc854 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -34,6 +34,7 @@
 #include "qmlengine.h"
 #include "qmladapter.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggeractions.h"
 #include "debuggerconstants.h"
 #include "debuggercore.h"
diff --git a/src/plugins/debugger/script/scriptengine.cpp b/src/plugins/debugger/script/scriptengine.cpp
index f173780e890..956462c02af 100644
--- a/src/plugins/debugger/script/scriptengine.cpp
+++ b/src/plugins/debugger/script/scriptengine.cpp
@@ -35,6 +35,7 @@
 
 #include "scriptengine.h"
 
+#include "debuggerstartparameters.h"
 #include "breakhandler.h"
 #include "debuggerconstants.h"
 #include "debuggercore.h"
diff --git a/src/plugins/debugger/snapshothandler.cpp b/src/plugins/debugger/snapshothandler.cpp
index df335391e82..0a7d62e1c54 100644
--- a/src/plugins/debugger/snapshothandler.cpp
+++ b/src/plugins/debugger/snapshothandler.cpp
@@ -37,6 +37,7 @@
 #include "debuggercore.h"
 #include "debuggerengine.h"
 #include "debuggerrunner.h"
+#include "debuggerstartparameters.h"
 
 #include <utils/qtcassert.h>
 
diff --git a/src/plugins/debugger/sourceagent.cpp b/src/plugins/debugger/sourceagent.cpp
index 624bc808c8c..c49d37f1080 100644
--- a/src/plugins/debugger/sourceagent.cpp
+++ b/src/plugins/debugger/sourceagent.cpp
@@ -43,7 +43,6 @@
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/editormanager/editormanager.h>
 #include <coreplugin/editormanager/ieditor.h>
-#include <coreplugin/mimedatabase.h>
 #include <coreplugin/icore.h>
 
 #include <texteditor/basetextdocument.h>
@@ -59,6 +58,8 @@
 #include <QtCore/QDebug>
 #include <QtCore/QMetaObject>
 #include <QtCore/QTimer>
+#include <QtCore/QPointer>
+#include <QtCore/QFileInfo>
 
 #include <QtGui/QMessageBox>
 #include <QtGui/QPlainTextEdit>
diff --git a/src/plugins/debugger/sourceagent.h b/src/plugins/debugger/sourceagent.h
index 3e929944ef5..0b873c9e8c3 100644
--- a/src/plugins/debugger/sourceagent.h
+++ b/src/plugins/debugger/sourceagent.h
@@ -35,9 +35,6 @@
 #define DEBUGGER_SOURCE_AGENT_H
 
 #include <QtCore/QObject>
-#include <QtCore/QHash>
-#include <QtCore/QPointer>
-#include <QtCore/QVector>
 
 namespace Debugger {
 
@@ -59,7 +56,6 @@ private:
     SourceAgentPrivate *d;
 };
 
-
 } // namespace Internal
 } // namespace Debugger
 
diff --git a/src/plugins/debugger/tcf/tcfengine.cpp b/src/plugins/debugger/tcf/tcfengine.cpp
index ebbe8c8bac7..f256705279f 100644
--- a/src/plugins/debugger/tcf/tcfengine.cpp
+++ b/src/plugins/debugger/tcf/tcfengine.cpp
@@ -33,6 +33,7 @@
 
 #include "tcfengine.h"
 
+#include "debuggerstartparameters.h"
 #include "debuggerconstants.h"
 #include "debuggerdialogs.h"
 #include "debuggerstringutils.h"
diff --git a/src/plugins/debugger/threaddata.h b/src/plugins/debugger/threaddata.h
index 021455374ea..e5b8a27294e 100644
--- a/src/plugins/debugger/threaddata.h
+++ b/src/plugins/debugger/threaddata.h
@@ -34,10 +34,10 @@
 #ifndef THREADDATA_H
 #define THREADDATA_H
 
-#include <QtCore/QList>
+#include <QtCore/QVector>
+#include <QtCore/QString>
 
 namespace Debugger {
-
 namespace Internal {
 
 ////////////////////////////////////////////////////////////////////////
diff --git a/src/plugins/debugger/threadshandler.h b/src/plugins/debugger/threadshandler.h
index 1a36b412b35..37163122fce 100644
--- a/src/plugins/debugger/threadshandler.h
+++ b/src/plugins/debugger/threadshandler.h
@@ -35,8 +35,6 @@
 #define THREADSHANDLER_H
 
 #include <QtCore/QAbstractTableModel>
-#include <QtCore/QList>
-
 #include <QtGui/QIcon>
 
 #include "threaddata.h"
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index f0043ae7bf0..1bfad03734d 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -541,11 +541,11 @@ bool isSymbianIntType(const QByteArray &type)
     return type == "TInt" || type == "TBool";
 }
 
-QByteArray sizeofTypeExpression(const QByteArray &type, QtDumperHelper::Debugger debugger)
+QByteArray sizeofTypeExpression(const QByteArray &type)
 {
     if (type.endsWith('*'))
         return "sizeof(void*)";
-    if (debugger != QtDumperHelper::GdbDebugger || type.endsWith('>'))
+    if (type.endsWith('>'))
         return "sizeof(" + type + ')';
     return "sizeof(" + gdbQuoteTypes(type) + ')';
 }
@@ -1009,16 +1009,6 @@ bool QtDumperHelper::parseQuery(const GdbMi &contents)
     return true;
 }
 
-// parse a query
-bool QtDumperHelper::parseQuery(const char *data)
-{
-    GdbMi root;
-    root.fromStringMultiple(QByteArray(data));
-    if (!root.isValid())
-        return false;
-    return parseQuery(root);
-}
-
 void QtDumperHelper::addSize(const QByteArray &name, int size)
 {
     // Special interest cases
@@ -1074,8 +1064,7 @@ QtDumperHelper::TypeData QtDumperHelper::typeData(const QByteArray &typeName) co
 
 // Format an expression to have the debugger query the
 // size. Use size cache if possible
-QByteArray QtDumperHelper::evaluationSizeofTypeExpression(const QByteArray &typeName,
-                                                       Debugger debugger) const
+QByteArray QtDumperHelper::evaluationSizeofTypeExpression(const QByteArray &typeName) const
 {
     // Look up special size types
     const SpecialSizeType st = specialSizeType(typeName);
@@ -1088,7 +1077,7 @@ QByteArray QtDumperHelper::evaluationSizeofTypeExpression(const QByteArray &type
     if (sit != m_sizeCache.constEnd())
         return QByteArray::number(sit.value());
     // Finally have the debugger evaluate
-    return sizeofTypeExpression(typeName, debugger);
+    return sizeofTypeExpression(typeName);
 }
 
 QtDumperHelper::SpecialSizeType QtDumperHelper::specialSizeType(const QByteArray &typeName) const
@@ -1129,9 +1118,14 @@ static inline bool isInteger(const QString &n)
     return true;
 }
 
+// Return debugger expression to get the offset of a map node.
+static inline QByteArray qMapNodeValueOffsetExpression(const QByteArray &type)
+{
+        return "(size_t)&(('" + type + "'*)0)->value";
+}
+
 void QtDumperHelper::evaluationParameters(const WatchData &data,
-    const TypeData &td, Debugger debugger,
-    QByteArray *inBuffer, QByteArrayList *extraArgsIn) const
+    const TypeData &td, QByteArray *inBuffer, QByteArrayList *extraArgsIn) const
 {
     enum { maxExtraArgCount = 4 };
 
@@ -1159,7 +1153,7 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
         // gives already most information the dumpers need
         const int count = qMin(int(maxExtraArgCount), inners.size());
         for (int i = 0; i < count; i++)
-            extraArgs.push_back(evaluationSizeofTypeExpression(inners.at(i), debugger));
+            extraArgs.push_back(evaluationSizeofTypeExpression(inners.at(i)));
     }
 
     // Pad with zeros
@@ -1197,13 +1191,13 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
             }
             //qDebug() << "OUTERTYPE: " << outertype << " NODETYPE: " << nodetype
             //    << "QT VERSION" << m_qtVersion << ((4 << 16) + (5 << 8) + 0);
-            extraArgs[2] = evaluationSizeofTypeExpression(nodetype, debugger);
-            extraArgs[3] = qMapNodeValueOffsetExpression(nodetype, data.hexAddress(), debugger);
+            extraArgs[2] = evaluationSizeofTypeExpression(nodetype);
+            extraArgs[3] = qMapNodeValueOffsetExpression(nodetype);
         }
         break;
     case QMapNodeType:
-        extraArgs[2] = evaluationSizeofTypeExpression(data.type, debugger);
-        extraArgs[3] = qMapNodeValueOffsetExpression(data.type, data.hexAddress(), debugger);
+        extraArgs[2] = evaluationSizeofTypeExpression(data.type);
+        extraArgs[3] = qMapNodeValueOffsetExpression(data.type);
         break;
     case StdVectorType:
         //qDebug() << "EXTRACT TEMPLATE: " << outertype << inners;
@@ -1243,23 +1237,10 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
                 bracketPos = pairType.lastIndexOf(closingBracket, bracketPos - pairType.size() - 1);
             if (bracketPos != -1)
                 pairType.truncate(bracketPos + 1);
-            if (debugger == GdbDebugger) {
-                extraArgs[2] = "(size_t)&(('";
-                extraArgs[2] += pairType;
-                extraArgs[2] += "'*)0)->second";
-            } else {
-                // Cdb: The std::pair is usually in scope. Still, this expression
-                // occasionally fails for complex types (std::string).
-                // We need an address as CDB cannot do the 0-trick.
-                // Use data address or try at least cache if missing.
-                const QByteArray address = data.address ?
-                                           data.hexAddress() :
-                                           "DUMMY_ADDRESS";
-                QByteArray offsetExpr = "(size_t)&(((" + pairType + " *)" + address
-                        + ")->second)" + '-' + address;
-                extraArgs[2] = lookupCdbDummyAddressExpression(offsetExpr, address);
-            }
-        }
+            extraArgs[2] = "(size_t)&(('";
+            extraArgs[2] += pairType;
+            extraArgs[2] += "'*)0)->second";
+    }
         break;
     case StdStringType:
         //qDebug() << "EXTRACT TEMPLATE: " << outertype << inners;
@@ -1310,255 +1291,6 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
         qDebug() << '\n' << Q_FUNC_INFO << '\n' << data.toString() << "\n-->" << outertype << td.type << extraArgs;
 }
 
-// Return debugger expression to get the offset of a map node.
-QByteArray QtDumperHelper::qMapNodeValueOffsetExpression
-    (const QByteArray &type, const QByteArray &addressIn, Debugger debugger) const
-{
-    switch (debugger) {
-    case GdbDebugger:
-        return "(size_t)&(('" + type + "'*)0)->value";
-    case CdbDebugger: {
-            // Cdb: This will only work if a QMapNode is in scope.
-            // We need an address as CDB cannot do the 0-trick.
-            // Use data address or try at least cache if missing.
-            const QByteArray address = addressIn.isEmpty() ? "DUMMY_ADDRESS" : addressIn;
-            QByteArray offsetExpression = "(size_t)&(((" + type
-                    + " *)" + address + ")->value)-" + address;
-            return lookupCdbDummyAddressExpression(offsetExpression, address);
-        }
-    }
-    return QByteArray();
-}
-
-/* Cdb cannot do tricks like ( "&(std::pair<int,int>*)(0)->second)",
- * that is, use a null pointer to determine the offset of a member.
- * It tries to dereference the address at some point and fails with
- * "memory access error". As a trick, use the address of the watch item
- * to do this. However, in the expression cache, 0 is still used, so,
- * for cache lookups,  use '0' as address. */
-QByteArray QtDumperHelper::lookupCdbDummyAddressExpression
-    (const QByteArray &expr, const QByteArray &address) const
-{
-    QByteArray nullExpr = expr;
-    nullExpr.replace(address, "0");
-    const QByteArray rc = m_expressionCache.value(nullExpr, expr);
-    if (debug)
-        qDebug() << "lookupCdbDummyAddressExpression" << expr << rc;
-    return rc;
-}
-
-// GdbMi parsing helpers for parsing dumper value results
-
-static bool gdbMiGetIntValue(int *target, const GdbMi &node, const char *child)
-{
-    *target = -1;
-    const GdbMi childNode = node.findChild(child);
-    if (!childNode.isValid())
-        return false;
-    bool ok;
-    *target = childNode.data().toInt(&ok);
-    return ok;
-}
-
-// Find a string child node and assign value if it exists.
-// Optionally decode.
-static bool gdbMiGetStringValue(QString *target,
-                             const GdbMi &node,
-                             const char *child,
-                             const char *encodingChild = 0)
-{
-    target->clear();
-    const GdbMi childNode = node.findChild(child);
-    if (!childNode.isValid())
-        return false;
-    // Encoded data
-    if (encodingChild) {
-        int encoding;
-        if (!gdbMiGetIntValue(&encoding, node, encodingChild))
-            encoding = 0;
-        *target = decodeData(childNode.data(), encoding);
-        return true;
-    }
-    // Plain data
-    *target = QLatin1String(childNode.data());
-    return true;
-}
-
-static bool gdbMiGetByteArrayValue(QByteArray *target,
-                             const GdbMi &node,
-                             const char *child,
-                             const char *encodingChild = 0)
-{
-    QString str;
-    const bool success = gdbMiGetStringValue(&str, node, child, encodingChild);
-    *target = str.toLatin1();
-    return success;
-}
-
-static bool gdbMiGetBoolValue(bool *target,
-                             const GdbMi &node,
-                             const char *child)
-{
-    *target = false;
-    const GdbMi childNode = node.findChild(child);
-    if (!childNode.isValid())
-        return false;
-    *target = childNode.data() == "true";
-    return true;
-}
-
-/* Context to store parameters that influence the next level children.
- *  (next level only, it is not further inherited). For example, the root item
- * can provide a "childtype" node that specifies the type of the children. */
-
-struct GdbMiRecursionContext
-{
-    enum Type
-    {
-        Debugger,    // Debugger symbol dump, recursive/symmetrical
-        GdbMacrosCpp // old gdbmacros.cpp format, unsymmetrical
-    };
-
-    GdbMiRecursionContext(Type t, int recursionLevelIn = 0) :
-            type(t), recursionLevel(recursionLevelIn), childNumChild(-1), childIndex(0) {}
-
-    const Type type;
-    int recursionLevel;
-    int childNumChild;
-    int childIndex;
-    QString childType;
-    QByteArray parentIName;
-};
-
-static void gbdMiToWatchData(const GdbMi &root,
-                             const GdbMiRecursionContext &ctx,
-                             QList<WatchData> *wl)
-{
-    if (debug > 1)
-        qDebug() << Q_FUNC_INFO << '\n' << root.toString(false, 0);
-    WatchData w;
-    QString v;
-    QByteArray b;
-    // Check for name/iname and use as expression default
-    w.sortId = ctx.childIndex;
-    // Fully symmetrical
-    if (ctx.type == GdbMiRecursionContext::Debugger) {
-        gdbMiGetByteArrayValue(&w.iname, root, "iname");
-        gdbMiGetStringValue(&w.name, root, "name");
-        gdbMiGetByteArrayValue(&w.exp, root, "exp");
-    } else {
-        // gdbmacros.cpp: iname/name present according to recursion level
-        // Check for name/iname and use as expression default
-        if (ctx.recursionLevel == 0) {
-            // parents have only iname, from which name is derived
-            QString iname;
-            if (!gdbMiGetStringValue(&iname, root, "iname"))
-                qWarning("Internal error: iname missing");
-            w.iname = iname.toLatin1();
-            w.name = iname;
-            const int lastDotPos = w.name.lastIndexOf(QLatin1Char('.'));
-            if (lastDotPos != -1)
-                w.name.remove(0, lastDotPos + 1);
-            w.exp = w.name.toLatin1();
-        } else {
-            // Children can have a 'name' attribute. If missing, assume array index
-            // For display purposes, it can be overridden by "key"
-            if (!gdbMiGetStringValue(&w.name, root, "name")) {
-                w.name = QString::number(ctx.childIndex);
-            }
-            // Set iname
-            w.iname = ctx.parentIName;
-            w.iname += '.';
-            w.iname += w.name.toLatin1();
-            // Key?
-            QString key;
-            if (gdbMiGetStringValue(&key, root, "key", "keyencoded")) {
-                w.name = key.size() > 13 ? key.mid(0, 13) + QLatin1String("...") : key;
-            }
-        }
-    }
-    if (w.name.isEmpty()) {
-        const QString msg = QString::fromLatin1(
-            "Internal error: Unable to determine name at level %1/%2 for %3")
-            .arg(ctx.recursionLevel).arg(w.iname, QLatin1String(root.toString(true, 2)));
-        qWarning("%s\n", qPrintable(msg));
-    }
-    gdbMiGetStringValue(&w.displayedType, root, "displayedtype");
-    if (gdbMiGetByteArrayValue(&b, root, "editvalue"))
-        w.editvalue = b;
-    if (gdbMiGetByteArrayValue(&b, root, "exp"))
-        w.exp = b;
-    QByteArray addressBA;
-    gdbMiGetByteArrayValue(&addressBA, root, "addr");
-    if (addressBA.startsWith("0x")) { // Item model dumper pulls tricks
-        w.setHexAddress(addressBA);
-    } else {
-        w.dumperFlags = addressBA;
-    }
-    gdbMiGetBoolValue(&w.valueEnabled, root, "valueenabled");
-    gdbMiGetBoolValue(&w.valueEditable, root, "valueeditable");
-    if (gdbMiGetStringValue(&v, root, "valuetooltip", "valuetooltipencoded"))
-        w.setValue(v);
-    if (gdbMiGetStringValue(&v, root, "value", "valueencoded"))
-        w.setValue(v);
-    // Type from context or self
-    if (ctx.childType.isEmpty()) {
-        if (gdbMiGetStringValue(&v, root, "type"))
-            w.setType(v.toUtf8());
-    } else {
-        w.setType(ctx.childType.toUtf8());
-    }
-    // child count?
-    int numChild = -1;
-    if (ctx.childNumChild >= 0) {
-        numChild = ctx.childNumChild;
-    } else {
-        gdbMiGetIntValue(&numChild, root, "numchild");
-    }
-    if (numChild >= 0)
-        w.setHasChildren(numChild > 0);
-    wl->push_back(w);
-    // Parse children with a new context
-    if (numChild == 0)
-        return;
-    const GdbMi childrenNode = root.findChild("children");
-    if (!childrenNode.isValid())
-        return;
-    const QList<GdbMi> children =childrenNode.children();
-    if (children.empty())
-        return;
-    wl->back().setChildrenUnneeded();
-    GdbMiRecursionContext nextLevelContext(ctx.type, ctx.recursionLevel + 1);
-    nextLevelContext.parentIName = w.iname;
-    gdbMiGetStringValue(&nextLevelContext.childType, root, "childtype");
-    if (!gdbMiGetIntValue(&nextLevelContext.childNumChild, root, "childnumchild"))
-        nextLevelContext.childNumChild = -1;
-    foreach (const GdbMi &child, children) {
-        gbdMiToWatchData(child, nextLevelContext, wl);
-        nextLevelContext.childIndex++;
-    }
-}
-
-bool QtDumperHelper::parseValue(const char *data, QList<WatchData> *l)
-{
-    l->clear();
-    GdbMi root;
-    // Array (CDB2)
-    if (*data == '[') {
-        root.fromString(data);
-        if (!root.isValid())
-            return false;
-        foreach(const GdbMi &child, root.children())
-            gbdMiToWatchData(child, GdbMiRecursionContext(GdbMiRecursionContext::Debugger), l);
-    } else {
-        root.fromStringMultiple(QByteArray(data));
-        if (!root.isValid())
-            return false;
-        gbdMiToWatchData(root, GdbMiRecursionContext(GdbMiRecursionContext::GdbMacrosCpp), l);
-    }
-    return true;
-}
-
 QDebug operator<<(QDebug in, const QtDumperHelper::TypeData &d)
 {
     QDebug nsp = in.nospace();
@@ -1568,7 +1300,6 @@ QDebug operator<<(QDebug in, const QtDumperHelper::TypeData &d)
     return in;
 }
 
-
 //////////////////////////////////////////////////////////////////////
 //
 // GdbMi interaction
diff --git a/src/plugins/debugger/watchutils.h b/src/plugins/debugger/watchutils.h
index 7616802cab5..e79a85eb844 100644
--- a/src/plugins/debugger/watchutils.h
+++ b/src/plugins/debugger/watchutils.h
@@ -175,7 +175,6 @@ public:
 
     // Complete parse of "query" (protocol 1) response from debuggee buffer.
     // 'data' excludes the leading indicator character.
-    bool parseQuery(const char *data);
     bool parseQuery(const GdbMi &data);
     // Sizes can be added as the debugger determines them
     void addSize(const QByteArray &type, int size);
@@ -183,14 +182,9 @@ public:
     // Determine the parameters required for an "evaluate" (protocol 2) call
     void evaluationParameters(const WatchData &data,
                               const TypeData &td,
-                              Debugger debugger,
                               QByteArray *inBuffer,
                               QList<QByteArray> *extraParameters) const;
 
-    // Parse the value response (protocol 2) from debuggee buffer.
-    // 'data' excludes the leading indicator character.
-    static bool parseValue(const char *data, QList<WatchData> *l);
-
     QString toString(bool debug = false) const;
 
     static QString msgDumperOutdated(double requiredVersion, double currentVersion);
@@ -200,12 +194,7 @@ private:
     typedef QMap<QByteArray, int> SizeCache;
 
     // Look up a simple (namespace) type
-    QByteArray evaluationSizeofTypeExpression(const QByteArray &typeName, Debugger d) const;
-    QByteArray qMapNodeValueOffsetExpression(const QByteArray &type,
-        const QByteArray &addressIn, Debugger debugger) const;
-
-    QByteArray lookupCdbDummyAddressExpression
-        (const QByteArray &expr, const QByteArray &address) const;
+    QByteArray evaluationSizeofTypeExpression(const QByteArray &typeName) const;
 
     NameTypeMap m_nameTypeMap;
     SizeCache m_sizeCache;
diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
index e559a184c50..cec33a8002b 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp
@@ -47,6 +47,7 @@
 #include <debugger/debuggerplugin.h>
 #include <debugger/debuggerconstants.h>
 #include <debugger/debuggerengine.h>
+#include <debugger/debuggerstartparameters.h>
 #include <qmljsinspector/qmljsinspectorconstants.h>
 #include <qt4projectmanager/qtversionmanager.h>
 #include <qt4projectmanager/qmlobservertool.h>
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
index a80a11cf80e..014bf49dfc5 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp
@@ -42,6 +42,7 @@
 
 #include <coreplugin/ssh/sftpchannel.h>
 #include <debugger/debuggerplugin.h>
+#include <debugger/debuggerstartparameters.h>
 #include <debugger/debuggerrunner.h>
 #include <debugger/debuggerengine.h>
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
index 936588e5b6b..5f82caa2b4a 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
@@ -52,6 +52,7 @@
 #include <coreplugin/progressmanager/progressmanager.h>
 
 #include <debugger/debuggerengine.h>
+#include <debugger/debuggerstartparameters.h>
 
 #include <QtGui/QMessageBox>
 #include <QtGui/QMainWindow>
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
index ced7efa1705..4607cd72855 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60manager.cpp
@@ -48,6 +48,7 @@
 #include <coreplugin/icore.h>
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/projectexplorerconstants.h>
+#include <debugger/debuggerconstants.h>
 #include <utils/qtcassert.h>
 
 #include <QtGui/QMainWindow>
-- 
GitLab