This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Extending GDB to provide console over telnet
- From: Grigory Tolstolytkin <gtolstolytkin at gmail dot com>
- To: gdb at sourceware dot org
- Date: Thu, 29 Sep 2011 15:58:11 +0400
- Subject: Extending GDB to provide console over telnet
Hi,
I'm working on extending gdb functionality and would like to start a
discussion since it might be useful for other people too.
The idea is to provide users an ability to remotely connect to gdb and
perform usual debugging interaction while it is already started in
Eclipse environment via MI interface.
This allows starting debug locally in Eclipse with connected target
hardware, for example, and then pass debugging control to a remote user
at some point.
Preliminary design is as following:
1. gdb is started on a local host either with Eclipse (through MI) or in
the shell.
2. Remote users will connect to gdb using telnet via TCP.
Additional commands need to be introduced to start corresponding
TCP service. Namely, "start-telnet-service [port]",
"stop-telnet-service". TCP port can be specified explicitly or hardcoded
one (default) will be used.
3. Remote users will used standard gdb console command syntax.
4. It seems reasonable to allow many users to connect to one instance of
gdb (Thus having individual internal interpreter for each one).
5. Debugging process under Eclipse usually generates a lot of
information in gdb output. The key idea is to separate MI input/output
from the remote user consoles.
Such debugging process when two or more users are involved into
controlling gdb might be a bit confusing. For example if users are both
setting breakpoints their numbers will differ from what users expect and
so on. But this is not a usual scenario to simultaneously debug the
application. So users should know what they're doing in such a case.
Anyway, such operations must not break gdb internals and lead to
unpredicted results.
Any suggestions, opinions and discussions are highly welcome. I'm also
already looking into implementation design and will provide details in
future mails.
Regards,
Grigory