diff --git a/src/plugins/debugger/watchdata.cpp b/src/plugins/debugger/watchdata.cpp index 14dee8f87b4..72da172346e 100644 --- a/src/plugins/debugger/watchdata.cpp +++ b/src/plugins/debugger/watchdata.cpp @@ -276,7 +276,7 @@ void WatchData::setAddress(const quint64 &a) void WatchData::setHexAddress(const QByteArray &a) { bool ok; - const qint64 av = a.toULongLong(&ok, 16); + const qint64 av = a.toULongLong(&ok, 0); if (ok) { address = av; } else { diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index 2269419baac..6068c467427 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -366,7 +366,7 @@ static inline QString formattedValue(const WatchData &data, int format) return data.value; // Evil hack, covers 'unsigned' as well as quint64. if (data.type.contains('u')) - return reformatInteger(data.value.toULongLong(), format); + return reformatInteger(data.value.toULongLong(0, 0), format); return reformatInteger(data.value.toLongLong(), format); } @@ -412,16 +412,11 @@ static inline QString formattedValue(const WatchData &data, int format) // "0x00000000`000003fd "Hallo"", or check gdb formatting of characters. static inline quint64 pointerValue(QString data) { - if (data.isEmpty() || !data.startsWith(QLatin1String("0x"))) - return 0; - data.remove(0, 2); const int blankPos = data.indexOf(QLatin1Char(' ')); if (blankPos != -1) data.truncate(blankPos); data.remove(QLatin1Char('`')); - bool ok; - const quint64 address = data.toULongLong(&ok, 16); - return ok ? address : quint64(0); + return data.toULongLong(0, 0); } // Return the type used for editing @@ -769,7 +764,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const } case LocalsAddressRole: - return data.coreAddress(); + return QVariant(data.coreAddress()); case LocalsReferencingAddressRole: return QVariant(data.referencingAddress); case LocalsSizeRole: diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp index ba7304e164c..02885d2c3c0 100644 --- a/src/plugins/debugger/watchutils.cpp +++ b/src/plugins/debugger/watchutils.cpp @@ -739,7 +739,7 @@ static void setWatchDataExpression(WatchData &data, const GdbMi &mi) data.exp = mi.data(); } -static void setWatchDataAddress(WatchData &data, quint64 address , quint64 origAddress = 0) +static void setWatchDataAddress(WatchData &data, quint64 address, quint64 origAddress = 0) { if (origAddress) { // Gdb dumpers reports the dereferenced address as origAddress data.address = origAddress;