* [RFC] Remote packet split out in different UI for 'new-ui' command
@ 2021-02-15 18:25 Muhammad Bilal
2021-02-18 10:34 ` Muhammad Bilal
0 siblings, 1 reply; 2+ messages in thread
From: Muhammad Bilal @ 2021-02-15 18:25 UTC (permalink / raw)
To: gdb-patches
Hi experts,
If I give gdb command from new-ui console then some gdb remote packets
go to main ui console.
i.e simple hello world remote debug
Create tty for new-ui
$ cat gdb-client
#!/bin/bash
reset
tty
tail -f /dev/null
$ ./gdb-client
/dev/pts/3
Launch gdbserver
$ gdbserver :10000 /tmp/hello
Launch gdb
$ gdb /tmp/hello -q -ex "new-ui mi /dev/pts/3" -ex "set debug remote 1"
-ex "tar rem :10000"
(gdb) tbreak main
(gdb) c
(gdb) b hello_world.c:3
Resume from new-ui mi console
(gdb)
-exec-continue
^running
*running,thread-id="all"
(gdb)
&"Sending packet: $Z0,555555555151,1#87..."
&"Packet received: OK\n"
&"Sending packet: $Z0,7ffff7fd37a5,1#e3..."
&"Packet received: OK\n"
&"Sending packet: $Z0,7ffff7fe508e,1#e6..."
&"Packet received: OK\n"
&"Sending packet: $Z0,7ffff7fe63e4,1#e6..."
&"Packet received: OK\n"
&"Sending packet: $vCont;c:p2bc5d1.-1#9f..."
=breakpoint-modified,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="0x0000555555555151",func="main",file="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",fullname="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",line="3",thread-groups=["i1"],times="1",original-location="hello_world.c:3"}
~"\n"
~"Breakpoint 5, main () at
/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c:3\n"
~"3\t\tputs(\"!!!Hello World!!!\"); /* prints !!!Hello World!!! */\n"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="5",frame={addr="0x0000555555555151",func="main",args=[],file="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",fullname="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",line="3",arch="i386:x86-64"},thread-id="1",stopped-threads="all",core="10"
(gdb)
Now you can see some packets also arrives in main gdb console
Sending packet: $m555555555140,40#6f...Packet received:
f30f1efae977fffffff30f1efa554889e5488d3dac0e0000e8f3feffffb8000000005dc3662e0f1f8400000000006690f30f1efa41574c8d3d3b2c0000415649
Sending packet: $m555555555151,1#3e...Packet received: 48
Breakpoint 5 at 0x555555555151: file
/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c, line 3.
(gdb) Packet received:
T05swbreak:;06:60d7ffffff7f0000;07:60d7ffffff7f0000;10:5151555555550000;thread:p2bc5d1.2bc5d1;core:a;
Sending packet: $qXfer:threads:read::0,1000#92...Packet received:
l<threads>\n<thread id="p2bc5d1.2bc5d1" core="10"
name="hello"/>\n</threads>\n
Sending packet: $z0,555555555151,1#a7...Packet received: OK
Sending packet: $z0,7ffff7fd37a5,1#03...Packet received: OK
Sending packet: $z0,7ffff7fe508e,1#06...Packet received: OK
Sending packet: $z0,7ffff7fe63e4,1#06...Packet received: OK
Breakpoint 2, main ()
at /var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c:3
3 puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
(gdb)
So, why GDB divide out remote packets to different console for singe
command?
This makes difficult to examine the debug packets flows in front-end gdb
(for example eclipse) where packets divide out in different console and
user need to parse both new-ui and main ui if some error come.
I see this is intentional in GDB .
/* Events are always processed with the main UI as current UI. This
way, warnings, debug output, etc. are always consistently sent to
the main console. */
scoped_restore save_ui = make_scoped_restore (¤t_ui, main_ui);
IMO, all remote packets should be on same console, from where command
executed...
Can we comment out above code or may be add some command to on|off this
behavior or do you see any regression to comment out the code ???
Thanks,
-Bilal
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC] Remote packet split out in different UI for 'new-ui' command
2021-02-15 18:25 [RFC] Remote packet split out in different UI for 'new-ui' command Muhammad Bilal
@ 2021-02-18 10:34 ` Muhammad Bilal
0 siblings, 0 replies; 2+ messages in thread
From: Muhammad Bilal @ 2021-02-18 10:34 UTC (permalink / raw)
To: gdb-patches
any thoughts please!
On 15/2/21 11:25 PM, Muhammad Bilal wrote:
> Hi experts,
>
> If I give gdb command from new-ui console then some gdb remote packets
> go to main ui console.
>
>
> i.e simple hello world remote debug
>
> Create tty for new-ui
>
> $ cat gdb-client
> #!/bin/bash
>
> reset
> tty
> tail -f /dev/null
>
> $ ./gdb-client
> /dev/pts/3
>
>
>
>
> Launch gdbserver
>
> $ gdbserver :10000 /tmp/hello
>
>
> Launch gdb
>
> $ gdb /tmp/hello -q -ex "new-ui mi /dev/pts/3" -ex "set debug remote
> 1" -ex "tar rem :10000"
> (gdb) tbreak main
> (gdb) c
> (gdb) b hello_world.c:3
>
>
> Resume from new-ui mi console
>
> (gdb)
> -exec-continue
> ^running
> *running,thread-id="all"
> (gdb)
> &"Sending packet: $Z0,555555555151,1#87..."
> &"Packet received: OK\n"
> &"Sending packet: $Z0,7ffff7fd37a5,1#e3..."
> &"Packet received: OK\n"
> &"Sending packet: $Z0,7ffff7fe508e,1#e6..."
> &"Packet received: OK\n"
> &"Sending packet: $Z0,7ffff7fe63e4,1#e6..."
> &"Packet received: OK\n"
> &"Sending packet: $vCont;c:p2bc5d1.-1#9f..."
> =breakpoint-modified,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="0x0000555555555151",func="main",file="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",fullname="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",line="3",thread-groups=["i1"],times="1",original-location="hello_world.c:3"}
>
> ~"\n"
> ~"Breakpoint 5, main () at
> /var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c:3\n"
> ~"3\t\tputs(\"!!!Hello World!!!\"); /* prints !!!Hello World!!! */\n"
> *stopped,reason="breakpoint-hit",disp="keep",bkptno="5",frame={addr="0x0000555555555151",func="main",args=[],file="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",fullname="/var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c",line="3",arch="i386:x86-64"},thread-id="1",stopped-threads="all",core="10"
>
> (gdb)
>
>
> Now you can see some packets also arrives in main gdb console
>
>
> Sending packet: $m555555555140,40#6f...Packet received:
> f30f1efae977fffffff30f1efa554889e5488d3dac0e0000e8f3feffffb8000000005dc3662e0f1f8400000000006690f30f1efa41574c8d3d3b2c0000415649
> Sending packet: $m555555555151,1#3e...Packet received: 48
> Breakpoint 5 at 0x555555555151: file
> /var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c, line 3.
> (gdb) Packet received:
> T05swbreak:;06:60d7ffffff7f0000;07:60d7ffffff7f0000;10:5151555555550000;thread:p2bc5d1.2bc5d1;core:a;
> Sending packet: $qXfer:threads:read::0,1000#92...Packet received:
> l<threads>\n<thread id="p2bc5d1.2bc5d1" core="10"
> name="hello"/>\n</threads>\n
> Sending packet: $z0,555555555151,1#a7...Packet received: OK
> Sending packet: $z0,7ffff7fd37a5,1#03...Packet received: OK
> Sending packet: $z0,7ffff7fe508e,1#06...Packet received: OK
> Sending packet: $z0,7ffff7fe63e4,1#06...Packet received: OK
>
> Breakpoint 2, main ()
> at /var/mbilal/workspace/cdt-2020-12/hello_world/src/hello_world.c:3
> 3 puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
> (gdb)
>
> So, why GDB divide out remote packets to different console for singe
> command?
>
> This makes difficult to examine the debug packets flows in front-end
> gdb (for example eclipse) where packets divide out in different
> console and user need to parse both new-ui and main ui if some error
> come.
>
>
> I see this is intentional in GDB .
>
> /* Events are always processed with the main UI as current UI. This
> way, warnings, debug output, etc. are always consistently sent to
> the main console. */
>
> scoped_restore save_ui = make_scoped_restore (¤t_ui, main_ui);
>
>
>
> IMO, all remote packets should be on same console, from where command
> executed...
>
> Can we comment out above code or may be add some command to on|off
> this behavior or do you see any regression to comment out the code ???
>
>
>
>
> Thanks,
>
> -Bilal
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-18 10:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-15 18:25 [RFC] Remote packet split out in different UI for 'new-ui' command Muhammad Bilal
2021-02-18 10:34 ` Muhammad Bilal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).