diff --git a/tests/auto/debugger/tst_gdb.cpp b/tests/auto/debugger/tst_gdb.cpp
index 8b8725ae09cbd4dfa86c8e50090c2302b372d1df..145404763a751dd492de6361572274e1f0cb713a 100644
--- a/tests/auto/debugger/tst_gdb.cpp
+++ b/tests/auto/debugger/tst_gdb.cpp
@@ -1,4 +1,8 @@
-//
+
+// Note: Keep the strange formating of closing braces in the  void dump*()
+// functions as this reduces the risk of gdb reporting 'wrong' line numbers
+// when stopping and therefore the risk of the autotest to fail.
+
 //bool checkUninitialized = true;
 bool checkUninitialized = false;
 //#define DO_DEBUG 1
@@ -1134,7 +1138,7 @@ void tst_Gdb::dump_QByteArray()
     prepare("dump_QByteArray");
     if (checkUninitialized)
         run("A","{iname='local.ba',name='ba',type='"NS"QByteArray',"
-            "value='<not in scope>',numchild='0'}");
+            "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.ba',name='ba',type='"NS"QByteArray',"
             "valueencoded='6',value='',numchild='0'}");
@@ -1507,7 +1511,7 @@ void tst_Gdb::dump_QHash_int_int()
     prepare("dump_QHash_int_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QHash<int, int>',value='<not in scope>',"
+            "type='"NS"QHash<int, int>',value='<invalid>',"
             "numchild='0'}");
     next();
     next();
@@ -1535,7 +1539,7 @@ void tst_Gdb::dump_QHash_QString_QString()
     prepare("dump_QHash_QString_QString");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QHash<"NS"QString, "NS"QString>',value='<not in scope>',"
+            "type='"NS"QHash<"NS"QString, "NS"QString>',value='<invalid>',"
             "numchild='0'}");
     next();
     run("B","{iname='local.h',name='h',"
@@ -1578,7 +1582,7 @@ void tst_Gdb::dump_QLinkedList_int()
     prepare("dump_QLinkedList_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QLinkedList<int>',value='<not in scope>',"
+            "type='"NS"QLinkedList<int>',value='<invalid>',"
             "numchild='0'}");
     next(3);
     run("D","{iname='local.h',name='h',"
@@ -1603,7 +1607,7 @@ void tst_Gdb::dump_QList_int()
     prepare("dump_QList_int");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-                "type='"NS"QList<int>',value='<not in scope>',numchild='0'}");
+                "type='"NS"QList<int>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<int>',value='<0 items>',numchild='0'}");
@@ -1640,7 +1644,7 @@ void tst_Gdb::dump_QList_int_star()
     prepare("dump_QList_int_star");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-                "type='"NS"QList<int*>',value='<not in scope>',numchild='0'}");
+                "type='"NS"QList<int*>',value='<invalid>',numchild='0'}");
     next();
     next();
     next();
@@ -1666,7 +1670,7 @@ void tst_Gdb::dump_QList_char()
     prepare("dump_QList_char");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-            "type='"NS"QList<char>',value='<not in scope>',numchild='0'}");
+            "type='"NS"QList<char>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<char>',value='<0 items>',numchild='0'}");
@@ -1696,7 +1700,7 @@ void tst_Gdb::dump_QList_char_star()
     prepare("dump_QList_char_star");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-            "type='"NS"QList<char const*>',value='<not in scope>',numchild='0'}");
+            "type='"NS"QList<char const*>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<char const*>',value='<0 items>',numchild='0'}");
@@ -1732,7 +1736,7 @@ void tst_Gdb::dump_QList_QString()
     prepare("dump_QList_QString");
     if (0 && checkUninitialized)
         run("A","{iname='local.list',name='list',"
-            "type='"NS"QList<"NS"QString>',value='<not in scope>',numchild='0'}");
+            "type='"NS"QList<"NS"QString>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<"NS"QString>',value='<0 items>',numchild='0'}");
@@ -1760,7 +1764,7 @@ void tst_Gdb::dump_QList_QString3()
     prepare("dump_QList_QString3");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-            "type='"NS"QList<QString3>',value='<not in scope>',numchild='0'}");
+            "type='"NS"QList<QString3>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<QString3>',value='<0 items>',numchild='0'}");
@@ -1798,7 +1802,7 @@ void tst_Gdb::dump_QList_Int3()
     prepare("dump_QList_Int3");
     if (checkUninitialized)
         run("A","{iname='local.list',name='list',"
-                "type='"NS"QList<Int3>',value='<not in scope>',numchild='0'}");
+                "type='"NS"QList<Int3>',value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.list',name='list',"
             "type='"NS"QList<Int3>',value='<0 items>',numchild='0'}");
@@ -1834,7 +1838,7 @@ void tst_Gdb::dump_QMap_int_int()
     prepare("dump_QMap_int_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QMap<int, int>',value='<not in scope>',"
+            "type='"NS"QMap<int, int>',value='<invalid>',"
             "numchild='0'}");
     next();
     run("B","{iname='local.h',name='h',"
@@ -1868,7 +1872,7 @@ void tst_Gdb::dump_QMap_QString_QString()
     prepare("dump_QMap_QString_QString");
     if (checkUninitialized)
         run("A","{iname='local.m',name='m',"
-            "type='"NS"QMap<"NS"QString, "NS"QString>',value='<not in scope>',"
+            "type='"NS"QMap<"NS"QString, "NS"QString>',value='<invalid>',"
             "numchild='0'}");
     next();
     run("B","{iname='local.m',name='m',"
@@ -1921,7 +1925,7 @@ void tst_Gdb::dump_QObject()
     prepare("dump_QObject");
     if (checkUninitialized)
         run("A","{iname='local.ob',name='ob',"
-            "type='"NS"QObject',value='<not in scope>',"
+            "type='"NS"QObject',value='<invalid>',"
             "numchild='0'}");
     next(4);
     
@@ -2504,7 +2508,7 @@ void tst_Gdb::dump_QSet_int()
     prepare("dump_QSet_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QSet<int>',value='<not in scope>',"
+            "type='"NS"QSet<int>',value='<invalid>',"
             "numchild='0'}");
     next(3);
     run("D","{iname='local.h',name='h',"
@@ -2529,7 +2533,7 @@ void tst_Gdb::dump_QSet_Int3()
     prepare("dump_QSet_Int3");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='"NS"QSet<Int3>',value='<not in scope>',"
+            "type='"NS"QSet<Int3>',value='<invalid>',"
             "numchild='0'}");
     next(3);
     run("D","{iname='local.h',name='h',"
@@ -2574,21 +2578,21 @@ void tst_Gdb::dump_QSharedPointer()
     prepare("dump_QSharedPointer");
     if (checkUninitialized)
         run("A","{iname='local.simplePtr',name='simplePtr',"
-            "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
         "{iname='local.simplePtr2',name='simplePtr2',"
-            "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
         "{iname='local.simplePtr3',name='simplePtr3',"
-            "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'},"
-        "{iname='local.simplePtr4',name='simplePtr3',"
-            "'type='"NS"QWeakPointer<int>',value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
+        "{iname='local.simplePtr4',name='simplePtr4',"
+            "type='"NS"QWeakPointer<int>',value='<invalid>',numchild='0'},"
         "{iname='local.compositePtr',name='compositePtr',"
-            "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<"NS"QString>',value='<invalid>',numchild='0'},"
         "{iname='local.compositePtr2',name='compositePtr2',"
-            "'type='"NS"QSharedPointer<int>'value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<"NS"QString>',value='<invalid>',numchild='0'},"
         "{iname='local.compositePtr3',name='compositePtr3',"
-            "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'},"
+            "type='"NS"QSharedPointer<"NS"QString>',value='<invalid>',numchild='0'},"
         "{iname='local.compositePtr4',name='compositePtr4',"
-            "'type='"NS"QWeakPointer<int>',value='<not in scope>',numchild='0'}");
+            "type='"NS"QWeakPointer<"NS"QString>',value='<invalid>',numchild='0'}");
 
     next(8);
     run("C","{iname='local.simplePtr',name='simplePtr',"
@@ -2680,7 +2684,7 @@ void tst_Gdb::dump_QStack()
     prepare("dump_QStack");
     if (checkUninitialized)
         run("A","{iname='local.v',name='v',type='"NS"QStack<int>',"
-            "value='<not in scope>',numchild='0'}");
+            "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.v',name='v',type='"NS"QStack<int>',"
             "value='<0 items>',numchild='0'}");
@@ -2710,15 +2714,14 @@ void dump_QString()
     /* A */ QString s;
     /* B */ s = "hallo"; 
     /* C */ s += "x";
-    /* D */ (void) 0;
-}
+    /* D */ (void) 0; }
 
 void tst_Gdb::dump_QString()
 {
     prepare("dump_QString");
     if (checkUninitialized)
         run("A","{iname='local.s',name='s',type='"NS"QString',"
-                "value='<not in scope>',numchild='0'}");
+                "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.s',name='s',type='"NS"QString',"
             "valueencoded='7',value='',numchild='0'}", "local.s");
@@ -2760,7 +2763,7 @@ void tst_Gdb::dump_QStringList()
     prepare("dump_QStringList");
     if (checkUninitialized)
         run("A","{iname='local.s',name='s',type='"NS"QStringList',"
-            "value='<not in scope>',numchild='0'}");
+            "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.s',name='s',type='"NS"QStringList',"
             "value='<0 items>',numchild='0'}");
@@ -2821,7 +2824,7 @@ void tst_Gdb::dump_QVector()
     prepare("dump_QVector");
     if (checkUninitialized)
         run("A","{iname='local.v',name='v',type='"NS"QVector<double>',"
-            "value='<not in scope>',numchild='0'}");
+            "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.v',name='v',type='"NS"QVector<double>',"
             "value='<0 items>',numchild='0'}");
@@ -2848,7 +2851,7 @@ void tst_Gdb::dump_QVector()
 
 void dump_QVariant()
 {
-    /*<not in scope>*/ QVariant v;
+    /*<invalid>*/ QVariant v;
     /* <invalid>    */ v = QBitArray();
     /* QBitArray    */ v = 0; // QBitmap();
     /* QBitMap      */ v = bool(true);
@@ -2907,8 +2910,8 @@ void tst_Gdb::dump_QVariant()
 {
     #define PRE "iname='local.v',name='v',type='"NS"QVariant',"
     prepare("dump_QVariant");
-    if (checkUninitialized) /*<not in scope>*/
-        run("A","{"PRE"'value=<not in scope>',numchild='0'}");
+    if (checkUninitialized) /*<invalid>*/
+        run("A","{"PRE"'value=<invalid>',numchild='0'}");
     next(); 
     run("<invalid>", "{"PRE"value='<invalid>',numchild='0'}");
     next(); 
@@ -3080,12 +3083,9 @@ void tst_Gdb::dump_QVariant()
 
 void dump_QWeakPointer_11()
 {
-    // Case 1: Simple type.
-    // Case 1.1: Null pointer.
     /* A */ QSharedPointer<int> sp;
     /*   */ QWeakPointer<int> wp = sp.toWeakRef();
-    /* B */ (void) 0;
-}
+    /* B */ (void) 0; }
 
 void tst_Gdb::dump_QWeakPointer_11()
 {
@@ -3093,9 +3093,10 @@ void tst_Gdb::dump_QWeakPointer_11()
     prepare("dump_QWeakPointer_11");
     if (checkUninitialized)
         run("A","{iname='local.sp',name='sp',"
-            "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}");
-    next();
-    next();
+               "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
+            "{iname='local.wp',name='wp',"
+               "type='"NS"QWeakPointer<int>',value='<invalid>',numchild='0'}");
+    next(2);
     run("B","{iname='local.sp',name='sp',"
             "type='"NS"QSharedPointer<int>',value='<null>',numchild='0'},"
             "{iname='local.wp',name='wp',"
@@ -3105,11 +3106,9 @@ void tst_Gdb::dump_QWeakPointer_11()
 
 void dump_QWeakPointer_12()
 {
-    // Case 1.2: Weak pointer is unique.
     /* A */ QSharedPointer<int> sp(new int(99));
     /*   */ QWeakPointer<int> wp = sp.toWeakRef();
-    /* B */ (void) 0;
-}
+    /* B */ (void) 0; }
 
 void tst_Gdb::dump_QWeakPointer_12()
 {
@@ -3117,13 +3116,15 @@ void tst_Gdb::dump_QWeakPointer_12()
     prepare("dump_QWeakPointer_12");
     if (checkUninitialized)
         run("A","{iname='local.sp',name='sp',"
-            "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}");
+               "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
+            "{iname='local.wp',name='wp',"
+                "type='"NS"QWeakPointer<int>',value='<invalid>',numchild='0'}");
     next();
     next();
     run("B","{iname='local.sp',name='sp',"
-            "type='"NS"QSharedPointer<int>',value='',numchild='3'},"
+                "type='"NS"QSharedPointer<int>',value='',numchild='3'},"
             "{iname='local.wp',name='wp',"
-            "type='"NS"QWeakPointer<int>',value='',numchild='3'}");
+                "type='"NS"QWeakPointer<int>',value='',numchild='3'}");
     run("B","{iname='local.sp',name='sp',"
             "type='"NS"QSharedPointer<int>',value='',numchild='3',children=["
                 "{name='data',type='int',value='99',numchild='0'},"
@@ -3140,23 +3141,23 @@ void tst_Gdb::dump_QWeakPointer_12()
 
 void dump_QWeakPointer_13()
 {
-    // Case 1.3: There are other weak pointers.
     /* A */ QSharedPointer<int> sp(new int(99));
     /*   */ QWeakPointer<int> wp = sp.toWeakRef();
     /*   */ QWeakPointer<int> wp2 = sp.toWeakRef();
-    /* B */ (void) 0;
-}
+    /* B */ (void) 0; }
 
 void tst_Gdb::dump_QWeakPointer_13()
 {
     // Case 1.3: There are other weak pointers.
     prepare("dump_QWeakPointer_13");
     if (checkUninitialized)
-        run("A","{iname='local.sp',name='sp',"
-            "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}");
-    next();
-    next();
-    next();
+       run("A","{iname='local.sp',name='sp',"
+              "type='"NS"QSharedPointer<int>',value='<invalid>',numchild='0'},"
+            "{iname='local.wp',name='wp',"
+              "type='"NS"QWeakPointer<int>',value='<invalid>',numchild='0'},"
+            "{iname='local.wp2',name='wp2',"
+              "type='"NS"QWeakPointer<int>',value='<invalid>',numchild='0'}");
+    next(3);
     run("B","{iname='local.sp',name='sp',"
               "type='"NS"QSharedPointer<int>',value='',numchild='3'},"
             "{iname='local.wp',name='wp',"
@@ -3181,11 +3182,9 @@ void tst_Gdb::dump_QWeakPointer_13()
 
 void dump_QWeakPointer_2()
 {
-    // Case 2: Composite type.
     /* A */ QSharedPointer<QString> sp(new QString("Test"));
     /*   */ QWeakPointer<QString> wp = sp.toWeakRef();
-    /* B */ (void) 0;
-}
+    /* B */ (void *) wp.data(); }
 
 void tst_Gdb::dump_QWeakPointer_2()
 {
@@ -3193,9 +3192,12 @@ void tst_Gdb::dump_QWeakPointer_2()
     prepare("dump_QWeakPointer_2");
     if (checkUninitialized)
         run("A","{iname='local.sp',name='sp',"
-        "type='"NS"QSharedPointer<"NS"QString>',value='<not in scope>',numchild='0'}");
-    next();
-    next();
+                    "type='"NS"QSharedPointer<"NS"QString>',"
+                    "value='<invalid>',numchild='0'},"
+                "{iname='local.wp',name='wp',"
+                    "type='"NS"QWeakPointer<"NS"QString>',"
+                    "value='<invalid>',numchild='0'}");
+    next(2);
     run("B","{iname='local.sp',name='sp',"
           "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3',children=["
             "{name='data',type='"NS"QString',"
@@ -3237,7 +3239,8 @@ void tst_Gdb::dump_std_deque()
     prepare("dump_std_deque");
     if (checkUninitialized)
         run("A","{iname='local.deque',name='deque',"
-            "numchild='0'}");
+            "type='std::deque<int, std::allocator<int> >',"
+            "value='<invalid>',numchild='0'}");
     next();
     run("B", "{iname='local.deque',name='deque',"
             "type='std::deque<int, std::allocator<int> >',"
@@ -3317,7 +3320,7 @@ void tst_Gdb::dump_std_map_int_int()
     prepare("dump_std_map_int_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='" + type + "',value='<not in scope>',"
+            "type='" + type + "',value='<invalid>',"
             "numchild='0'}");
     next();
     run("B","{iname='local.h',name='h',"
@@ -3342,8 +3345,7 @@ void dump_std_map_string_string()
     /* A */ std::map<std::string, std::string> m;
     /* B */ m["hello"] = "world";
     /* C */ m["foo"] = "bar";
-    /* D */ (void) 0;
-}
+    /* D */ (void) 0; }
 
 void tst_Gdb::dump_std_map_string_string()
 {
@@ -3358,7 +3360,7 @@ void tst_Gdb::dump_std_map_string_string()
     prepare("dump_std_map_string_string");
     if (checkUninitialized)
         run("A","{iname='local.m',name='m',"
-            "type='" + type + "',value='<not in scope>',"
+            "type='" + type + "',value='<invalid>',"
             "numchild='0'}");
     next();
     run("B","{iname='local.m',name='m',"
@@ -3407,7 +3409,7 @@ void tst_Gdb::dump_std_set_int()
     prepare("dump_std_set_int");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='" + setType + "',value='<not in scope>',"
+            "type='" + setType + "',value='<invalid>',"
             "numchild='0'}");
     next(3);
     run("D","{iname='local.h',name='h',"
@@ -3432,7 +3434,7 @@ void tst_Gdb::dump_std_set_Int3()
     prepare("dump_std_set_Int3");
     if (checkUninitialized)
         run("A","{iname='local.h',name='h',"
-            "type='" + setType + "',value='<not in scope>',"
+            "type='" + setType + "',value='<invalid>',"
             "numchild='0'}");
     next(3);
     run("D","{iname='local.h',name='h',"
@@ -3449,15 +3451,14 @@ void dump_std_string()
 {
     /* A */ std::string str;
     /* B */ str = "Hallo";
-    /* C */ (void) 0;
-}
+    /* C */ (void) 0; }
 
 void tst_Gdb::dump_std_string()
 {
     prepare("dump_std_string");
     if (checkUninitialized)
-        run("A","{iname='local.str',name='str',"
-            "numchild='0'}");
+        run("A","{iname='local.str',name='str',type='-',"
+            "value='<invalid>',numchild='0'}");
     next();
     run("B","{iname='local.str',name='str',type='std::string',"
             "valueencoded='6',value='',numchild='0'}");
@@ -3505,8 +3506,7 @@ void dump_std_vector()
     /* C */ vector.push_back(new std::list<int>(list));
     /* D */ vector.push_back(0);
     /* E */ (void) list.size();
-    /* F */ (void) list.size();
-}
+    /* F */ (void) list.size(); }
 
 void tst_Gdb::dump_std_vector()
 {
@@ -3516,8 +3516,10 @@ void tst_Gdb::dump_std_vector()
 
     prepare("dump_std_vector");
     if (checkUninitialized)
-        run("A","{iname='local.vector',name='vector',"
-            "numchild='0'}");
+        run("A","{iname='local.vector',name='vector',type='" + vectorType + "',"
+            "value='<invalid>',numchild='0'},"
+        "{iname='local.list',name='list',type='" + listType + "',"
+            "value='<invalid>',numchild='0'}");
     next(2);
     run("B","{iname='local.vector',name='vector',type='" + vectorType + "',"
             "value='<0 items>',numchild='0'},"