diff --git a/src/plugins/debugger/cdb/cdbassembler.cpp b/src/plugins/debugger/cdb/cdbassembler.cpp index 180326a15d3..1e27cf53f32 100644 --- a/src/plugins/debugger/cdb/cdbassembler.cpp +++ b/src/plugins/debugger/cdb/cdbassembler.cpp @@ -38,9 +38,14 @@ // Format a hex address with a given field width if possible. Convert // to number to ensure it is not truncated should it be larger than the -// field width. -static inline void formatAddress(QTextStream &str, const QString &hexAddressS, int fieldWidth) +// field width. Check the 64 bit address format '00000001`40002c84' +static inline void formatAddress(QTextStream &str, QString hexAddressS, int fieldWidth) { + if (hexAddressS.size() > 9) { + const int sepPos = hexAddressS.size() - 9; + if (hexAddressS.at(sepPos) == QLatin1Char('`')) + hexAddressS.remove(sepPos, 1); + } const QChar oldPadChar = str.padChar(); const int oldFieldWidth = str.fieldWidth(); const int oldIntegerBase = str.integerBase(); diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp index 2589046edcb..b37c8218890 100644 --- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp +++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp @@ -454,7 +454,8 @@ static inline QString removeInnerTemplateType(QString value) // "0x4343 class list<>". static inline QString fixValue(const QString &value, const QString &type) { - if (value.endsWith(QLatin1Char('"'))) // Pass through strings + // Pass through strings, chars + if (value.endsWith(QLatin1Char('"')) || value.endsWith(QLatin1Char('\''))) return value; const int size = value.size(); // Unsigned hex numbers