diff options
Diffstat (limited to 'src/plugins/debugger/watchutils.cpp')
-rw-r--r-- | src/plugins/debugger/watchutils.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp index ed59a6979e..f8bcb1c64a 100644 --- a/src/plugins/debugger/watchutils.cpp +++ b/src/plugins/debugger/watchutils.cpp @@ -739,8 +739,14 @@ static void setWatchDataAddress(WatchData &data, quint64 address , quint64 origA } else { data.address = address; } - if (data.exp.isEmpty() && !data.dumperFlags.startsWith('$')) - data.exp = "*(" + gdbQuoteTypes(data.type) + "*)" +data.hexAddress(); + if (data.exp.isEmpty() && !data.dumperFlags.startsWith('$')) { + if (data.iname.startsWith("local.") && data.iname.count('.') == 1) + // Solve one common case of adding 'class' in + // *(class X*)0xdeadbeef for gdb. + data.exp = data.name.toLatin1(); + else + data.exp = "*(" + gdbQuoteTypes(data.type) + "*)" +data.hexAddress(); + } } void setWatchDataAddress(WatchData &data, const GdbMi &addressMi, const GdbMi &origAddressMi) |