diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
index 0578a52720b2c6e8bc1c82f16af52936d5534706..b3204bce62582ed7b0e446e1848ba9c82b0b075c 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 462c93a4ff8b98a233beaedf274cdda3fc2b6902..a91ba2454d0f725c0f1fa10a51f25e1d4b220e3d 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -509,21 +509,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
@@ -3157,15 +3157,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);