This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

MI inconsistency when detaching


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-gnu/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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]