[prev in list] [next in list] [prev in thread] [next in thread]
List: gdb
Subject: MI inconsistency when detaching
From: Simon Marchi <simon.marchi () ericsson ! com>
Date: 2013-05-31 21:50:12
Message-ID: 51A91B14.60102 () ericsson ! com
[Download RAW message or body]
Hi,
A colleague of mine found an inconsistency in the MI when detaching a
process with and without a gdbserver. In the following example, assume
the process we want to debug is already running and has pid 5422. In the
first case, there is no "thread-exited" event emitted, but in the second
case there is.
Attaching and detaching a process without directly (no gdbserver)
$ gdb -i mi
=thread-group-added,id="i1"
(gdb)
-target-attach 5422
=thread-group-started,id="i1",pid="5422"
=thread-created,id="1",group-id="i1"
=library-loaded,id="/lib/x86_64-linux-gnu/libc.so.6",target-name="/lib/x86_64-linux-gn \
u/libc.so.6",host-name="/lib/x86_64-linux-gnu/libc.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64. \
so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
*stopped,frame={addr="0x00007fe48e131d20",func="nanosleep",args=[],from="/lib/x86_64-linux-gnu/libc.so.6"},thread-id="1",stopped-threads="all",core="1"
^done
(gdb)
-target-detach
=thread-group-exited,id="i1"
=library-unloaded,id="/lib/x86_64-linux-gnu/libc.so.6",target-name="/lib/x86_64-linux-gnu/libc.so.6",host-name="/lib/x86_64-linux-gnu/libc.so.6",thread-group="i1"
=library-unloaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",thread-group="i1"
^done
(gdb)
Attaching and detaching a process through gdbserver
(start gdbserver and attach the process)
$ gdbserver --attach :1234 7169
$ gdb -i mi
=thread-group-added,id="i1"
(gdb)
-target-select extended-remote :1234
=thread-group-started,id="i1",pid="5422"
=thread-created,id="1",group-id="i1"
&"warning: Could not load vsyscall page because no executable was
specified\ntry using the \"file\" command first."
&"\n"
*stopped,frame={addr="0x00007fe48e131d20",func="??",args=[]},thread-id="1",stopped-threads="all",core="3"
=tsv-created,name="trace_timestamp",initial="0"\n
^connected
(gdb)
-target-detach
=thread-exited,id="1",group-id="i1"
=thread-group-exited,id="i1"
^done
(gdb)
is this behavior expected or should it be fixed? If it should be fixed,
which behavior is the right one?
Thanks,
Simon
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic