Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] Download to remote target help

> 
> Oops, bad From address.
> 
> On Tue, Apr 08, 2003 at 03:35:43PM -0400, Robb, Sam wrote:
> > > I suspect Timesys uses a different remote server that supports it, so 
> > > the MI interface probably works well for them. (?)
> > 
> > Actually, no - we want to support the case where the user
> > might want to transfer multiple files, so we have a generic
> > file transfer agent to take care of the details.
> > 
> > I could have sworn that I tested out the file upload command,
> > though, jsut because I was curious as to how well it worked.
> > I may be misremembering, though.
> 
> Well, I'm pretty sure it won't - gdbserver starts the inferior by using
> execve, so the sections are all mapped in the normal way, and then load
> attempts to write over .text:
> 
> Loading section .interp, size 0x13 lma 0x8048114
> Loading section .note.ABI-tag, size 0x20 lma 0x8048128
> Loading section .hash, size 0x274 lma 0x8048148
> Loading section .dynsym, size 0x580 lma 0x80483bc
> Loading section .dynstr, size 0x3af lma 0x804893c
> Loading section .gnu.version, size 0xb0 lma 0x8048cec
> Loading section .gnu.version_r, size 0x90 lma 0x8048d9c
> Loading section .rel.dyn, size 0x28 lma 0x8048e2c
> Loading section .rel.plt, size 0x280 lma 0x8048e54
> Loading section .init, size 0x17 lma 0x80490d4
> Loading section .plt, size 0x510 lma 0x80490ec
> Loading section .text, size 0xa2c0 lma 0x80495fc
> Memory access error while loading section .text.
> 
> I could probably make it work, but having a file transfer agent is
> probably a better way to go anyway.
> 

Agreed, I would go further and provide a litter proxy agent, responsible
for a certain number of services on the target:

- file uploading
- starting gdbserver
- ...
etc ..

Extending the proxy services beyond file transfer, is probrary the next step.

We could regroup this under the TargetProvider class:

interface TargetProvider {
}

This can be the basis of the Remote debugging.




Back to the top