Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Russell Shaw <rjshaw@netspace.net.au>
Cc: gdb@sourceware.org
Subject: Re: [RFC] plugin/extension interface
Date: Sat, 03 Dec 2005 05:25:00 -0000	[thread overview]
Message-ID: <43912C55.7090708@netspace.net.au> (raw)
In-Reply-To: <20051203044939.GA24620@nevyn.them.org>

Daniel Jacobowitz wrote:
> On Sat, Dec 03, 2005 at 03:44:31PM +1100, Russell Shaw wrote:
> 
>>>Please see the "monitor" command, which lets you pass whatever you wish
>>>to the convertor.  This and a couple of user-defined commands are most
>>>of what you need...
>>
>>Looking at gdb docs, i couldn't find any "monitor" command or in the index.
>>
>>(gdb) help monitor
>>
>>  Send a command to the remote monitor (remote targets only).
> 
> Found `monitor' in Index. (`,' tries to find next.)
> 
> `monitor CMD'
>      This command allows you to send commands directly to the remote
>      monitor.
> 
>>Not very helpful.
> 
> That's because the bits that go after the word "monitor" depend on your
> target :-)
 >
>>Anyway, preceding every command with "monitor" is hardly a nice or intuitive
>>user interface.
> 
> Of course.  Provide a GDB script file that uses "define" to give things
> pretty names, for example.

It would be useful if the manual actually said that this is the way to
add new commands for an external monitor. It is bad when i can only learn
new things about gdb by complaining.

>>>As for the state of GDB, that's a separate thread, and making progress
>>>already.
>>
>>If there was an api for hardware-specific protocols, not only would
>>performance of these improve, but there would be new developers
>>seeing gdb code and having an interest in maintaining and improving
>>it (i was really the first example). What's more, all kinds of
>>unsupported debugger hardware could be added by users. Because each
>>hardware goes into its own subdirectory, it doesn't complicate any
>>other area of gdb and can be easily removed. That's how the backend
>>of gcc works.
> 
> I'm not convinced that performance is an issue here.  I'd need numbers. 
> The total data transfer over the remote protocol is, usually, very
> small - even if you're doing application downloads, it's just a couple
> of extra buffer copies on the local system.  If you expect to be
> transfering huge data sessions, use a local pipe or fifo to connect to
> the daemon instead of TCP.
> 
>>A problem with the current method of using shims is that if you want
>>to develop one, you have to go out and find one on the net to find a
>>place to start.
>>
>>With all the interfaces in gdb subdirectories, all the example code that
>>anyone could ever want for adding support for new hardware, is already
>>there to look at (i looked at gdb-6.3/gdb/remote*.c to start my one).
> 
> If you wanted to add a skeleton protocol conversion daemon to the GDB
> source tree, especially under the GPL, I'm sure we'd be glad to include
> it!
> 
> The problem with "remote*.c" is that most of them haven't been used in
> years.  Many of them are bad examples, or simply broken.

I suppose i could start the shim daemon from a .gdbinit file using the
gdb "shell" command.

An explanation about shims and how to implement them in a way that is
non-tedious to use, should be in the manual.

Last time i read the remote protocol spec in the gdb manual, most of it
was too terse to be useable.


  reply	other threads:[~2005-12-03  5:25 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-02 18:25 Andrew STUBBS
2005-12-02 18:49 ` Eli Zaretskii
2005-12-02 19:23   ` Daniel Jacobowitz
2005-12-02 19:36 ` Mark Kettenis
2005-12-02 22:12   ` Jim Blandy
2005-12-02 22:16     ` Daniel Jacobowitz
2005-12-02 22:41     ` Mark Kettenis
2005-12-02 23:07       ` Jim Blandy
2005-12-02 23:13         ` Bob Rossi
2005-12-02 23:32         ` Daniel Jacobowitz
2005-12-03  0:57           ` Jim Blandy
2005-12-03  2:32             ` Daniel Jacobowitz
2005-12-03  2:41               ` Bob Rossi
2005-12-03  2:41               ` Russell Shaw
2005-12-03  2:45                 ` Daniel Jacobowitz
2005-12-03  3:13                   ` Russell Shaw
2005-12-03  3:33                     ` Daniel Jacobowitz
2005-12-03  4:05                       ` Russell Shaw
2005-12-03  4:14                         ` Daniel Jacobowitz
2005-12-03  4:44                           ` Russell Shaw
2005-12-03  4:49                             ` Daniel Jacobowitz
2005-12-03  5:25                               ` Russell Shaw [this message]
2005-12-03 12:49                                 ` [commit] Clarify "monitor" command (was: [RFC] plugin/extension interface) Eli Zaretskii
2005-12-03 12:51                                   ` [commit] Clarify "monitor" command Russell Shaw
2005-12-03 16:08                                   ` [commit] Clarify "monitor" command (was: [RFC] plugin/extension interface) Daniel Jacobowitz
2005-12-03  5:06                             ` [RFC] plugin/extension interface Russell Shaw
2005-12-03  5:12                               ` Daniel Jacobowitz
2005-12-03  9:29                             ` Eli Zaretskii
2005-12-03  9:50                               ` Russell Shaw
2005-12-03  9:57                                 ` Eli Zaretskii
2005-12-05 16:17 ` Andrew STUBBS
2005-12-05 16:34   ` Bob Rossi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43912C55.7090708@netspace.net.au \
    --to=rjshaw@netspace.net.au \
    --cc=gdb@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox