Stop running indicator on 'thread-group-exit'.

This commit is contained in:
Ernie Pasveer
2025-04-06 11:22:53 -05:00
parent 060701e721
commit 227c249c06
4 changed files with 46 additions and 2 deletions
+1
View File
@@ -181,6 +181,7 @@ SeerMainWindow::SeerMainWindow(QWidget* parent) : QMainWindow(parent) {
QObject::connect(visualizerImageAction, &QAction::triggered, gdbWidget, &SeerGdbWidget::handleGdbImageVisualizer);
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::astrixTextOutput, runStatus, &SeerRunStatusIndicator::handleText);
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::equalTextOutput, runStatus, &SeerRunStatusIndicator::handleText);
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::astrixTextOutput, this, &SeerMainWindow::handleText);
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::caretTextOutput, this, &SeerMainWindow::handleText);
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::equalTextOutput, this, &SeerMainWindow::handleText);
+10 -2
View File
@@ -53,10 +53,18 @@ void SeerRunStatusIndicator::handleText (const QString& text) {
}else if (text.startsWith("*stopped")) {
//^connected,frame={level=\"0\",addr=\"0x00007f48351f80c1\",func=\"read\",args=[],from=\"/lib64/libc.so.6\",arch=\"i386:x86-64\"}"
setRunStatus(SeerRunStatusIndicator::Stopped);
//^connected,frame={level=\"0\",addr=\"0x00007f48351f80c1\",func=\"read\",args=[],from=\"/lib64/libc.so.6\",arch=\"i386:x86-64\"}"
return;
}else if (text.startsWith("=thread-exited")) {
//=thread-exited,id="1",group-id="i1"
setRunStatus(SeerRunStatusIndicator::Stopped);
}else if (text.startsWith("=thread-group-exited")) {
//=thread-group-exited,id="i1"
setRunStatus(SeerRunStatusIndicator::Stopped);
}else{
// All other text is ignored by this widget.
+1
View File
@@ -81,6 +81,7 @@
<file>resources/help/Skips.md</file>
<file>resources/mi-python/MIEcho.py</file>
<file>resources/mi-python/MISkip.py</file>
<file>resources/mi-python/MIKill.py</file>
</qresource>
</RCC>
+34
View File
@@ -0,0 +1,34 @@
After -exec-kill
^done
^running
*running,thread-id="all"
^done,thread-ids={thread-id="1"},current-thread-id="1",number-of-threads="1"
^done,threads=[{id="1",target-id="Thread 0x7ffff7eb0b80 (LWP 9413)",name="hellofft",state="running",core="6"}],current-thread-id="1"
^error,msg="Selected thread is running."
=thread-exited,id="1",group-id="i1"
=thread-group-exited,id="i1"
^done
^done,thread-ids={},number-of-threads="0"
^done,threads=[]
^error,msg="No registers."
Exiting normally
=thread-exited,id="1",group-id="i1"
=thread-group-exited,id="i1",exit-code="0"
*stopped,reason="exited-normally"
^done,thread-ids={},number-of-threads="0"
^done,threads=[]
^error,msg="No registers."
^done,thread-ids={},number-of-threads="0"
^done,threads=[]
^done,threads=[]
^error,msg="No registers."
^error,msg="No registers."
^done,thread-ids={},number-of-threads="0"
^done,threads=[]
^error,msg="No registers."
^error,msg="No registers."