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
- From: Michael Snyder <msnyder at specifix dot com>
- To: JBWeeN <jbween at gmail dot com>
- Cc: gdb at sourceware dot org
- Date: Wed, 02 Apr 2008 11:09:31 -0700
- Subject: Re: Problem Assining Values to Arrays in GDB 4.17
- References: <a0c090600804020928v7e2ae98ey1a359889c5b1abc1@mail.gmail.com> <a0c090600804020931y23b119c5n9b47bf1a6f4a0bcc@mail.gmail.com>
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