diff --git a/share/qtcreator/gdbmacros/test/main.cpp b/share/qtcreator/gdbmacros/test/main.cpp
index de8fc9f91f209a3c41137d081995825a9dc6a911..f77486fae49873ae9fcee9549d7ffee8dbc3e420 100644
--- a/share/qtcreator/gdbmacros/test/main.cpp
+++ b/share/qtcreator/gdbmacros/test/main.cpp
@@ -35,6 +35,8 @@
 #include <QtCore/QMap>
 #include <QtCore/QSet>
 #include <QtCore/QVariant>
+#include <QtCore/QFileInfo>
+#include <QtCore/QCoreApplication>
 #include <QtGui/QAction>
 
 #include <string>
@@ -51,6 +53,7 @@ bool optTestUninitialized = false;
 bool optTestAll = false;
 bool optEmptyContainers = false;
 unsigned optVerbose = 0;
+const char *appPath = 0;
 
 // Provide address of type of be tested.
 // When testing unitialized memory, allocate at random.
@@ -482,7 +485,6 @@ static int dumpStdMapStringString()
     return 0;
 }
 
-
 static int dumpQObject()
 {
     // Requires the childOffset to be know, but that is not critical
@@ -517,6 +519,16 @@ static int dumpQObject()
     return 0;
 }
 
+static int dumpQFileInfo()
+{
+    QFileInfo test(QString::fromLatin1(appPath));
+    prepareInBuffer("QFileInfo", "local.qfileinfo", "local.qfileinfo","");
+    qDumpObjectData440(2, 42, testAddress(&test), 1, 0, 0, 0, 0);
+    fputs(qDumpOutBuffer, stdout);
+    fputc('\n', stdout);
+    return 0;
+}
+
 static int dumpQObjectList()
 {
     // Requires the childOffset to be know, but that is not critical
@@ -566,6 +578,7 @@ static TypeDumpFunctionMap registerTypes()
     rc.insert("set<QString>", dumpStdQStringSet);
     rc.insert("map<int,string>", dumpStdMapIntString);
     rc.insert("map<string,string>", dumpStdMapStringString);
+    rc.insert("QFileInfo", dumpQFileInfo);
     rc.insert("QObject", dumpQObject);
     rc.insert("QObjectList", dumpQObjectList);
     rc.insert("QVariant", dumpQVariant);
@@ -592,6 +605,7 @@ static void usage(const char *b, const TypeDumpFunctionMap &tdm)
 
 int main(int argc, char *argv[])
 {
+    appPath = argv[0];
     printf("\nQt Creator Debugging Helper testing tool\n\n");
     printf("Running query protocol\n");
     qDumpObjectData440(1, 42, 0, 1, 0, 0, 0, 0);