diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py
index 605c6187b9149ae344bd2cdba22f40fbba1e3ee9..6aa0e995de2a06f69312d13d06076b6c9441e14a 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.py
+++ b/share/qtcreator/gdbmacros/gdbmacros.py
@@ -1440,6 +1440,15 @@ def qdump__QTextCodec(d, item):
             d.putCallItem("name", item, "name()")
             d.putCallItem("mibEnum", item, "mibEnum()")
 
+def qdump__QUrl(d, item):
+    d_ptr = item.value["d"].dereference()
+    d.putStringValue(d_ptr["encodedOriginal"])
+    d.putNumChild(1)
+    if d.isExpanded(item):
+        with Children(d):
+           d.putItem(Item(d_ptr, item.iname, "d", "d"))
+
+
 def qdumpHelper__QVariant(d, value):
     #warn("VARIANT TYPE: %s : " % variantType)
     data = value["d"]["data"]
diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp
index 68bdcfb2ebed9fabf550f7f61a2fb8cc6653f836..1705327ffa59084ad55266868dbcfd7a6d594ec9 100644
--- a/tests/manual/gdbdebugger/simple/app.cpp
+++ b/tests/manual/gdbdebugger/simple/app.cpp
@@ -47,6 +47,7 @@
 #include <QtCore/QThread>
 #include <QtCore/QVariant>
 #include <QtCore/QVector>
+#include <QtCore/QUrl>
 #if QT_VERSION >= 0x040500
 #include <QtCore/QSharedPointer>
 #endif
@@ -1165,6 +1166,8 @@ void testQStack()
 
 void testQString()
 {
+    QUrl url(QString("http://www.nokia.com"));
+
     QString str = "Hello ";
     str += " big, ";
     str += " fat ";