Re: GDB/MI - Possible missing stop-reason on attach or misleading documentation

Simon Marchi <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 2022-03-03 03:35, Simon Sobisch via Gdb wrote:
> When attaching to a running progress (that currently "waits" in `getchar()`, but that likely doesn't matter) in async mode the following records are returned:
>
> =thread-group-started,id="i1",pid="12345"
> =thread-created,id="1",group-id="i1"
> =library-loaded,id=... many entries
> ~"0x00007fa0a626b7e0 in __read_nocancel () from /usr/lib64/libc.so.6\n"
> *stopped,frame={addr="0x00007fa0a626b7e0",func="__read_nocancel",args=[],from="/usr/lib64/libc.so.6",arch="i386:x86-64"},thread-id="1",stopped-threads="all",core="1"
>
> My understanding from
> https://sourceware.org/gdb//onlinedocs/gdb/GDB_002fMI-Async-Records.html was that the reason field is _always_ returned.
>
> Questions:
> * Did I look at the right place of the docs?

I think so.

> * Are all fields listed there should always be filled?

If it doesn't say otherwise, yes.  This looks like a bug.

>   If not I highly suggest to add a note about that.
> * Can the reason field be added in the attach case? I _guess_ that would
>   be either "location-reached" or "breakpoint-hit".

Or signal-received, same as you get when GDB interrupts a running thread
after the user does ^C.  It depends on the status the target returns.
Attaching is kind of like the user requesting the attached process to
stop.

Simon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.