diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
index fdcd141aa532668963de458ee786840cfefbff48..7ae85035ae856c209715e3ec2621633c0c5ecb5e 100644
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
@@ -10,7 +10,9 @@ include(../../plugins/texteditor/texteditor.pri)
 include(../../plugins/cpptools/cpptools.pri)
 include(../../libs/cplusplus/cplusplus.pri)
 
-# DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
+# DEFINES += QT_NO_CAST_FROM_ASCII
+DEFINES += QT_NO_CAST_TO_ASCII
+
 QT += gui network script
 
 HEADERS += attachexternaldialog.h \
diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index 395b8a4bf7a2fe01446ae805b63bc2a562d477eb..83bbc6670bbed1bfdb74a47c18b26359cb242b5f 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -491,21 +491,21 @@ void GdbEngine::handleResponse()
             }
 
             case '~': {
-                QString data = GdbMi::parseCString(from, to);
+                QByteArray data = GdbMi::parseCString(from, to);
                 m_pendingConsoleStreamOutput += data;
                 m_inbuffer = QByteArray(from, to - from);
                 break;
             }
 
             case '@': {
-                QString data = GdbMi::parseCString(from, to);
+                QByteArray data = GdbMi::parseCString(from, to);
                 m_pendingTargetStreamOutput += data;
                 m_inbuffer = QByteArray(from, to - from);
                 break;
             }
 
             case '&': {
-                QString data = GdbMi::parseCString(from, to);
+                QByteArray data = GdbMi::parseCString(from, to);
                 m_pendingLogStreamOutput += data;
                 m_inbuffer = QByteArray(from, to - from);
                 // On Windows, the contents seem to depend on the debugger
@@ -3124,15 +3124,15 @@ void GdbEngine::runCustomDumper(const WatchData & data0, bool dumpChildren)
         addr = "&(" + data.exp + ")";
 
     QByteArray params;
-    params.append(outertype);
+    params.append(outertype.toUtf8());
     params.append('\0');
-    params.append(data.iname);
+    params.append(data.iname.toUtf8());
     params.append('\0');
-    params.append(data.exp);
+    params.append(data.exp.toUtf8());
     params.append('\0');
-    params.append(inner);
+    params.append(inner.toUtf8());
     params.append('\0');
-    params.append(data.iname);
+    params.append(data.iname.toUtf8());
     params.append('\0');
 
     sendWatchParameters(params);