From 0c8f3a0f60c44e877fa8b2440041fa2e8d3664a5 Mon Sep 17 00:00:00 2001 From: Roy Qu Date: Wed, 8 Mar 2023 18:01:10 +0800 Subject: [PATCH] - fix: Cpu info window is auto openned, when debug using gdb-server. --- NEWS.md | 1 + RedPandaIDE/debugger.cpp | 4 ++++ RedPandaIDE/gdbmiresultparser.cpp | 4 ++-- RedPandaIDE/mainwindow.cpp | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/NEWS.md b/NEWS.md index 05615432..bd9ce1e9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -10,6 +10,7 @@ Red Panda C++ Version 2.17 - fix: After project's default encoding is changed in the project options dialog, all project files' encoding are wrongly setted to the new encoding.(They should be "Project default") - enhancement: Make project's default encoding setting in the project options dialog more user friendly. - fix: In project options dialog's file page, Project's default encoding name is not updated when it's changed. + - fix: Cpu info window is auto openned, when debug using gdb-server. Red Panda C++ Version 2.16 diff --git a/RedPandaIDE/debugger.cpp b/RedPandaIDE/debugger.cpp index df4e0d07..c2b56c13 100644 --- a/RedPandaIDE/debugger.cpp +++ b/RedPandaIDE/debugger.cpp @@ -1198,6 +1198,10 @@ void DebugReader::processExecAsyncRecord(const QByteArray &line) } } runInferiorStoppedHook(); + if (reason.isEmpty() && mCurrentFunc == "_start" && mCurrentFile.isEmpty()) { + //gdb-server connected, just ignore it + return; + } if (mCurrentCmd && mCurrentCmd->source == DebugCommandSource::Console) emit inferiorStopped(mCurrentFile, mCurrentLine, false); else diff --git a/RedPandaIDE/gdbmiresultparser.cpp b/RedPandaIDE/gdbmiresultparser.cpp index 43488339..b6d51c20 100644 --- a/RedPandaIDE/gdbmiresultparser.cpp +++ b/RedPandaIDE/gdbmiresultparser.cpp @@ -213,8 +213,8 @@ bool GDBMIResultParser::parseStringValue(const char *&p, QByteArray& stringValue } QByteArray numStr(p,i); bool ok; - unsigned char ch = numStr.toInt(&ok,8); - stringValue+=ch; + char ch = numStr.toInt(&ok,8); + stringValue.append(ch); p+=i; break; } diff --git a/RedPandaIDE/mainwindow.cpp b/RedPandaIDE/mainwindow.cpp index 5f7c63ff..593cd00b 100644 --- a/RedPandaIDE/mainwindow.cpp +++ b/RedPandaIDE/mainwindow.cpp @@ -1028,7 +1028,7 @@ void MainWindow::setActiveBreakpoint(QString fileName, int Line, bool setFocus) activateWindow(); } } else { - pMainWindow->showCPUInfoDialog(); + showCPUInfoDialog(); } return; }