Writing regs to corefile

Daniel Jacobowitz drow@false.org
Tue Apr 26 01:29:00 GMT 2005


On Mon, Apr 25, 2005 at 08:02:33PM -0400, Jon Ringle wrote:
> On Monday 25 April 2005 17:45, Daniel Jacobowitz wrote:
> > On Mon, Apr 25, 2005 at 04:51:09PM -0400, Jon Ringle wrote:
> > > > > I can't seem to write directly to the core file register set from
> > > > > within gdb (which is why I was hand editing the core file):
> > > > > (gdb) set $r0 = 0xffffffe4
> > > > > You can't do that without a process to debug.
> > > >
> > > > Yeah.  This is a bit unfortunate.  Maybe we should allow the loaded
> > > > copy of the registers to be changed.
> > >
> > > I was looking at corelow.c to see if I could add a
> > > core_ops.to_store_registers function to do just that. However, the first
> > > problem I encountered is that the to_store_registers definition seems to
> > > only have a regno parameter. How do I get access to the value of regno to
> > > be stored?
> >
> > From the register cache.  You probably don't need to do anything in
> > your dummy to_store_registers routine.
> 
> Ok, I created a dummy to_store_registers and a dummy to_prepare_to_store in 
> corelow.c. Now I don't get the error message, but setting a register doesn't 
> seem to reflect a change:
> 
> (gdb) p/x $r0
> $1 = 0xbee0244c
> (gdb) set $r0=0x1234
> (gdb) p/x $r0
> $2 = 0xbee0244c

Dunno; probably you need to change the way to_fetch_registers works.

-- 
Daniel Jacobowitz
CodeSourcery, LLC



More information about the Gdb mailing list