diff --git a/src/plugins/debugger/cdb/cdbparsehelpers.cpp b/src/plugins/debugger/cdb/cdbparsehelpers.cpp
index a4d1e7ccbe64dd5bdd2121e84050d4000d646717..533b90de2597dc5b9fe347de4603429dfc64f048 100644
--- a/src/plugins/debugger/cdb/cdbparsehelpers.cpp
+++ b/src/plugins/debugger/cdb/cdbparsehelpers.cpp
@@ -333,8 +333,10 @@ QByteArray cdbWriteMemoryCommand(quint64 addr, const QByteArray &data)
     str.setIntegerBase(16);
     str << "f " << addr << " L" << data.size();
     const int count = data.size();
-    for (int i = 0 ; i < count ; i++ )
-        str << ' ' << int(data.at(i));
+    for (int i = 0 ; i < count ; i++ ) {
+        const unsigned char uc = (unsigned char)data.at(i);
+        str << ' ' << unsigned(uc);
+    }
     return cmd;
 }
 
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 14e3bf9826ae9e283f3c1d90a0840a66a7f3b136..acb77d2b4cb353416bb00b146d7f5e3476599307 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -3954,7 +3954,8 @@ void GdbEngine::changeMemory(MemoryAgent *agent, QObject *token,
     QByteArray cmd = "-data-write-memory " + QByteArray::number(addr) + " d 1";
     foreach (char c, data) {
         cmd.append(' ');
-        cmd.append(QByteArray::number(uint(c)));
+        const unsigned char uc = (unsigned char)c;
+        cmd.append(QByteArray::number(uint(uc)));
     }
     postCommand(cmd, NeedsStop, CB(handleChangeMemory),
         QVariant::fromValue(MemoryAgentCookie(agent, token, addr)));