Skip to content

Commit 227c249

Browse files
committed
Stop running indicator on 'thread-group-exit'.
1 parent 060701e commit 227c249

4 files changed

Lines changed: 46 additions & 2 deletions

File tree

src/SeerMainWindow.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ SeerMainWindow::SeerMainWindow(QWidget* parent) : QMainWindow(parent) {
181181
QObject::connect(visualizerImageAction, &QAction::triggered, gdbWidget, &SeerGdbWidget::handleGdbImageVisualizer);
182182

183183
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::astrixTextOutput, runStatus, &SeerRunStatusIndicator::handleText);
184+
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::equalTextOutput, runStatus, &SeerRunStatusIndicator::handleText);
184185
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::astrixTextOutput, this, &SeerMainWindow::handleText);
185186
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::caretTextOutput, this, &SeerMainWindow::handleText);
186187
QObject::connect(gdbWidget->gdbMonitor(), &GdbMonitor::equalTextOutput, this, &SeerMainWindow::handleText);

src/SeerRunStatusIndicator.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,18 @@ void SeerRunStatusIndicator::handleText (const QString& text) {
5353

5454
}else if (text.startsWith("*stopped")) {
5555

56+
//^connected,frame={level=\"0\",addr=\"0x00007f48351f80c1\",func=\"read\",args=[],from=\"/lib64/libc.so.6\",arch=\"i386:x86-64\"}"
5657
setRunStatus(SeerRunStatusIndicator::Stopped);
5758

58-
//^connected,frame={level=\"0\",addr=\"0x00007f48351f80c1\",func=\"read\",args=[],from=\"/lib64/libc.so.6\",arch=\"i386:x86-64\"}"
59-
return;
59+
}else if (text.startsWith("=thread-exited")) {
60+
61+
//=thread-exited,id="1",group-id="i1"
62+
setRunStatus(SeerRunStatusIndicator::Stopped);
63+
64+
}else if (text.startsWith("=thread-group-exited")) {
65+
66+
//=thread-group-exited,id="i1"
67+
setRunStatus(SeerRunStatusIndicator::Stopped);
6068

6169
}else{
6270
// All other text is ignored by this widget.

src/resource.qrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
<file>resources/help/Skips.md</file>
8282
<file>resources/mi-python/MIEcho.py</file>
8383
<file>resources/mi-python/MISkip.py</file>
84+
<file>resources/mi-python/MIKill.py</file>
8485
</qresource>
8586
</RCC>
8687

tests/hellofft/README

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
After -exec-kill
3+
4+
^done
5+
^running
6+
*running,thread-id="all"
7+
^done,thread-ids={thread-id="1"},current-thread-id="1",number-of-threads="1"
8+
^done,threads=[{id="1",target-id="Thread 0x7ffff7eb0b80 (LWP 9413)",name="hellofft",state="running",core="6"}],current-thread-id="1"
9+
^error,msg="Selected thread is running."
10+
=thread-exited,id="1",group-id="i1"
11+
=thread-group-exited,id="i1"
12+
^done
13+
^done,thread-ids={},number-of-threads="0"
14+
^done,threads=[]
15+
^error,msg="No registers."
16+
17+
Exiting normally
18+
19+
=thread-exited,id="1",group-id="i1"
20+
=thread-group-exited,id="i1",exit-code="0"
21+
*stopped,reason="exited-normally"
22+
^done,thread-ids={},number-of-threads="0"
23+
^done,threads=[]
24+
^error,msg="No registers."
25+
^done,thread-ids={},number-of-threads="0"
26+
^done,threads=[]
27+
^done,threads=[]
28+
^error,msg="No registers."
29+
^error,msg="No registers."
30+
^done,thread-ids={},number-of-threads="0"
31+
^done,threads=[]
32+
^error,msg="No registers."
33+
^error,msg="No registers."
34+

0 commit comments

Comments
 (0)