diff --git a/src/SeerMainWindow.cpp b/src/SeerMainWindow.cpp
index 2d4839b..ec8747b 100644
--- a/src/SeerMainWindow.cpp
+++ b/src/SeerMainWindow.cpp
@@ -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);
diff --git a/src/SeerRunStatusIndicator.cpp b/src/SeerRunStatusIndicator.cpp
index ca0f9d5..4cc3950 100644
--- a/src/SeerRunStatusIndicator.cpp
+++ b/src/SeerRunStatusIndicator.cpp
@@ -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.
diff --git a/src/resource.qrc b/src/resource.qrc
index 530a50a..fc0c978 100644
--- a/src/resource.qrc
+++ b/src/resource.qrc
@@ -81,6 +81,7 @@
resources/help/Skips.md
resources/mi-python/MIEcho.py
resources/mi-python/MISkip.py
+ resources/mi-python/MIKill.py
diff --git a/tests/hellofft/README b/tests/hellofft/README
new file mode 100644
index 0000000..20677db
--- /dev/null
+++ b/tests/hellofft/README
@@ -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."
+