forked from qt-creator/qt-creator
CDB: Fix disassembler for 64 bit addresses.
This commit is contained in:
@@ -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();
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user