forked from qt-creator/qt-creator
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:
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user