Extending GDB to provide console over telnet

Grigory Tolstolytkin gtolstolytkin@gmail.com
Thu Sep 29 11:58:00 GMT 2011


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



More information about the Gdb mailing list