Debugger: Use internal decoding of Utils::Process for gdb output

Change-Id: I1c7ec589370228588103909cad88ed51e897146d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
hjk
2024-12-06 17:30:39 +01:00
parent 23c0ae336f
commit 853ca0cceb
2 changed files with 3 additions and 7 deletions

View File

@@ -131,7 +131,6 @@ GdbEngine::GdbEngine()
setObjectName("GdbEngine"); setObjectName("GdbEngine");
setDebuggerName("GDB"); setDebuggerName("GDB");
m_gdbOutputCodec = QTextCodec::codecForLocale();
m_inferiorOutputCodec = QTextCodec::codecForLocale(); m_inferiorOutputCodec = QTextCodec::codecForLocale();
m_commandTimer.setSingleShot(true); m_commandTimer.setSingleShot(true);
@@ -632,7 +631,7 @@ void GdbEngine::readGdbStandardOutput()
int newstart = 0; int newstart = 0;
int scan = m_inbuffer.size(); int scan = m_inbuffer.size();
QByteArray out = m_gdbProc.readAllRawStandardOutput(); QString out = m_gdbProc.readAllStandardOutput();
m_inbuffer.append(out); m_inbuffer.append(out);
// This can trigger when a dialog starts a nested event loop. // This can trigger when a dialog starts a nested event loop.
@@ -657,8 +656,7 @@ void GdbEngine::readGdbStandardOutput()
} }
m_busy = true; m_busy = true;
QString msg = m_gdbOutputCodec->toUnicode(m_inbuffer.constData() + start, end - start, QString msg = m_inbuffer.mid(start, end - start);
&m_gdbOutputCodecState);
handleResponse(msg); handleResponse(msg);
m_busy = false; m_busy = false;

View File

@@ -92,12 +92,10 @@ private: ////////// General Interface //////////
void readGdbStandardError(); void readGdbStandardError();
void readDebuggeeOutput(const QByteArray &ba); void readDebuggeeOutput(const QByteArray &ba);
QTextCodec *m_gdbOutputCodec;
QTextCodec::ConverterState m_gdbOutputCodecState;
QTextCodec *m_inferiorOutputCodec; QTextCodec *m_inferiorOutputCodec;
QTextCodec::ConverterState m_inferiorOutputCodecState; QTextCodec::ConverterState m_inferiorOutputCodecState;
QByteArray m_inbuffer; QString m_inbuffer;
bool m_busy = false; bool m_busy = false;
// Name of the convenience variable containing the last // Name of the convenience variable containing the last