diff --git a/src/plugins/debugger/gdb/abstractgdbadapter.h b/src/plugins/debugger/gdb/abstractgdbadapter.h
index 1e30c87b445d6281e299493a083fdc4ff4939381..943842fc4496e6d843ea523bae5a04b3415af4e4 100644
--- a/src/plugins/debugger/gdb/abstractgdbadapter.h
+++ b/src/plugins/debugger/gdb/abstractgdbadapter.h
@@ -54,7 +54,7 @@ public:
 
     virtual QByteArray readAllStandardError() = 0;
     virtual QByteArray readAllStandardOutput() = 0;
-    virtual qint64 write(const char *data) = 0;
+    virtual void write(const QByteArray &data) = 0;
     virtual void setWorkingDirectory(const QString &dir) = 0;
     virtual void setEnvironment(const QStringList &env) = 0;
     virtual bool isTrkAdapter() const = 0;
diff --git a/src/plugins/debugger/gdb/attachgdbadapter.h b/src/plugins/debugger/gdb/attachgdbadapter.h
index 6cccac552915ee0c8dc864b334384dfd87b51199..7f9d8d46cca4a193f8043b026b792c25e02f7bbf 100644
--- a/src/plugins/debugger/gdb/attachgdbadapter.h
+++ b/src/plugins/debugger/gdb/attachgdbadapter.h
@@ -55,7 +55,7 @@ public:
 private:
     QByteArray readAllStandardError() { return m_gdbProc.readAllStandardError(); }
     QByteArray readAllStandardOutput() { return m_gdbProc.readAllStandardOutput(); }
-    qint64 write(const char *data) { return m_gdbProc.write(data); }
+    void write(const QByteArray &data) { m_gdbProc.write(data, data.size()); }
     void setWorkingDirectory(const QString &dir) { m_gdbProc.setWorkingDirectory(dir); }
     void setEnvironment(const QStringList &env) { m_gdbProc.setEnvironment(env); }
     bool isTrkAdapter() const { return false; }
diff --git a/src/plugins/debugger/gdb/coregdbadapter.h b/src/plugins/debugger/gdb/coregdbadapter.h
index b448fa2a939325b588e35727b8d97ab1fbead7cd..c432b622751a01045d009659ff139e90dee196bc 100644
--- a/src/plugins/debugger/gdb/coregdbadapter.h
+++ b/src/plugins/debugger/gdb/coregdbadapter.h
@@ -55,7 +55,7 @@ public:
 private:
     QByteArray readAllStandardError() { return m_gdbProc.readAllStandardError(); }
     QByteArray readAllStandardOutput() { return m_gdbProc.readAllStandardOutput(); }
-    qint64 write(const char *data) { return m_gdbProc.write(data); }
+    void write(const QByteArray &data) { m_gdbProc.write(data, data.size()); }
     void setWorkingDirectory(const QString &dir) { m_gdbProc.setWorkingDirectory(dir); }
     void setEnvironment(const QStringList &env) { m_gdbProc.setEnvironment(env); }
     bool isTrkAdapter() const { return false; }
diff --git a/src/plugins/debugger/gdb/plaingdbadapter.h b/src/plugins/debugger/gdb/plaingdbadapter.h
index 1a8b7f55b272a97345ac7472806c461cffeeeac9..aade81183975574d79c704a320db88ec4b16f7f1 100644
--- a/src/plugins/debugger/gdb/plaingdbadapter.h
+++ b/src/plugins/debugger/gdb/plaingdbadapter.h
@@ -56,7 +56,7 @@ public:
 
     QByteArray readAllStandardError() { return m_gdbProc.readAllStandardError(); }
     QByteArray readAllStandardOutput() { return m_gdbProc.readAllStandardOutput(); }
-    qint64 write(const char *data) { return m_gdbProc.write(data); }
+    void write(const QByteArray &data) { m_gdbProc.write(data, data.size()); }
     void setWorkingDirectory(const QString &dir) { m_gdbProc.setWorkingDirectory(dir); }
     void setEnvironment(const QStringList &env) { m_gdbProc.setEnvironment(env); }
     bool isTrkAdapter() const { return false; }
diff --git a/src/plugins/debugger/gdb/remotegdbadapter.h b/src/plugins/debugger/gdb/remotegdbadapter.h
index 263b32d2ab7bb49b10312e2642f984838d2daa16..15ef70c6f7b37a11a1559e0faeaa67393f30ac96 100644
--- a/src/plugins/debugger/gdb/remotegdbadapter.h
+++ b/src/plugins/debugger/gdb/remotegdbadapter.h
@@ -55,7 +55,7 @@ public:
 private:
     QByteArray readAllStandardError() { return m_gdbProc.readAllStandardError(); }
     QByteArray readAllStandardOutput() { return m_gdbProc.readAllStandardOutput(); }
-    qint64 write(const char *data) { return m_gdbProc.write(data); }
+    void write(const QByteArray &data) { m_gdbProc.write(data, data.size()); }
     void setWorkingDirectory(const QString &dir) { m_gdbProc.setWorkingDirectory(dir); }
     void setEnvironment(const QStringList &env) { m_gdbProc.setEnvironment(env); }
     bool isTrkAdapter() const { return false; }
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index 3105d1fc7039d40064e623dcdc54754a74c7304e..3853978c1d11ce0d18f1a7388880be07987e9361 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -1623,9 +1623,9 @@ QByteArray TrkGdbAdapter::readAllStandardOutput()
     return m_gdbProc.readAllStandardOutput();
 }
 
-qint64 TrkGdbAdapter::write(const char *data)
+void TrkGdbAdapter::write(const QByteArray &data)
 {
-    return m_gdbProc.write(data);
+    m_gdbProc.write(data, data.size());
 }
 
 void TrkGdbAdapter::setWorkingDirectory(const QString &dir)
diff --git a/src/plugins/debugger/gdb/trkgdbadapter.h b/src/plugins/debugger/gdb/trkgdbadapter.h
index 38ec1d35af381f4e5327e4ade1e8550b2fe28351..5b3ea34f8d37e6f05edb3e5de075d46c00eb723e 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.h
+++ b/src/plugins/debugger/gdb/trkgdbadapter.h
@@ -109,7 +109,7 @@ public:
         QIODevice::OpenMode mode = QIODevice::ReadWrite);
     QByteArray readAllStandardError();
     QByteArray readAllStandardOutput();
-    qint64 write(const char *data);
+    void write(const QByteArray &data);
     void setWorkingDirectory(const QString &dir);
     void setEnvironment(const QStringList &env);
     bool isTrkAdapter() const { return true; }