This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Problem Assining Values to Arrays in GDB 4.17
It does not work, If a use a system call gdb says that command is undefined.
I get the following error:
(gdb) memcpy(myArray, {1.2, 2.0, 5.7}, 3*sizeof(double))
Undefined command: "memcpy". Try "help".
On Wed, Apr 2, 2008 at 8:09 PM, Michael Snyder <msnyder@specifix.com> wrote:
> Perhaps you could use memcpy?
>
>
> On Wed, 2008-04-02 at 18:31 +0200, JBWeeN wrote:
> > First of all, thanks for read my message.
> > I am having the following problem:
> >
> > I am using GDB 4.17, I would like to upgrade it to a modern
> > version, but I am obliged.
> >
> > In modern GDB releases I can assign directly values to an array
> > using the following sintax:
> > (gdb) set var myArray = {1.0, 2.0, 3.0, 4.0, 5.0,6.0}
> >
> > But in this release (GDB 4.17) If I use the same command, I get the
> > following error:
> > (gdb) set var myArray = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}
> > Invalid Cast
> >
> > Looking for information about the problem I found that I could
> > solve the problem doing a direct cast:
> > (gdb) set var myArray = {double *} {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}
> >
> > I do not why, but this solution only works sometimes. Other times,
> > it appears the following error:
> > Cannot access memory at address 0x545f98.
> >
> > It seems that GDB tries to modify myArray pointing to a new memory
> > address, but it is very strange that this new address not exists.
> >
> > I know that I have another solution
> > (gdb) set myArray[0] = ...
> > (gdb) set myArray[1] = ...
> > (gdb) set myArray[2] = ...
> > (gdb) set myArray[3] = ...
> >
> > But I have a lot of GDB scripts with a lot of arrays assignments
> > that use this syntax and I have to migrate them to GDB 4.17.
> >
> > Is there any other way to assign array values directly?
> >
> > Is there my only option to assing one by one? (I hope it is not)
> >
> > Thanks for all,
> >
> > Best Regards
>
>