This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Writing regs to corefile


On Monday 25 April 2005 20:31, Daniel Jacobowitz wrote:
> 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.

Yup, that was it. Got it working now. I put a test if (regno==-1) {} around 
the code contained in get_core_registers(), so that the code doesn't get run 
when a specific register gets changed.

Jon


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]