forked from qt-creator/qt-creator
Debugger: Infrastructure for reworked native mixed debugging
- Remove old experimental native mixed approach. - Move some common stack parsing to Stackhandler. - Mark gdbbridge.py debug output explicitly to remove it from actual reponse handling New native mixed needs QtDeclarative changes and QTC_DEBUGGER_NATIVE_MIXED=1 for now. Change-Id: I09eed1da51cea878636d36756015b7bfaed34203 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
@@ -80,7 +80,7 @@ void GdbMi::parseResultOrValue(const char *&from, const char *to)
|
||||
if (from == to || *from == '(')
|
||||
return;
|
||||
const char *ptr = from;
|
||||
while (ptr < to && *ptr != '=') {
|
||||
while (ptr < to && *ptr != '=' && *ptr != ':') {
|
||||
//qDebug() << "adding" << QChar(*ptr) << "to name";
|
||||
++ptr;
|
||||
}
|
||||
@@ -770,6 +770,12 @@ QString decodeData(const QByteArray &ba, DebuggerEncoding encoding)
|
||||
case SpecialEmptyStructureValue: { // 39
|
||||
return QLatin1String("{...}");
|
||||
}
|
||||
case SpecialUndefinedValue: { // 40
|
||||
return QLatin1String("Undefined");
|
||||
}
|
||||
case SpecialNullValue: { // 41
|
||||
return QLatin1String("Null");
|
||||
}
|
||||
}
|
||||
qDebug() << "ENCODING ERROR: " << encoding;
|
||||
return QCoreApplication::translate("Debugger", "<Encoding error>");
|
||||
@@ -857,5 +863,22 @@ QByteArray DebuggerCommand::argsToString() const
|
||||
return args.toString().toLatin1();
|
||||
}
|
||||
|
||||
DebuggerEncoding debuggerEncoding(const QByteArray &data)
|
||||
{
|
||||
if (data == "utf16")
|
||||
return Hex4EncodedLittleEndianWithQuotes;
|
||||
if (data == "empty")
|
||||
return SpecialEmptyValue;
|
||||
if (data == "minimumitemcount")
|
||||
return SpecialMinimumItemCountValue;
|
||||
if (data == "undefined")
|
||||
return SpecialUndefinedValue;
|
||||
if (data == "null")
|
||||
return SpecialNullValue;
|
||||
if (data == "itemcount")
|
||||
return SpecialItemCountValue;
|
||||
return DebuggerEncoding(data.toInt());
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace Debugger
|
||||
|
||||
Reference in New Issue
Block a user