From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5115 invoked by alias); 2 Apr 2008 18:09:52 -0000 Received: (qmail 5102 invoked by uid 22791); 2 Apr 2008 18:09:50 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 02 Apr 2008 18:09:33 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id B24103C234; Wed, 2 Apr 2008 11:09:31 -0700 (PDT) Subject: Re: Problem Assining Values to Arrays in GDB 4.17 From: Michael Snyder To: JBWeeN Cc: gdb@sourceware.org In-Reply-To: References: Content-Type: text/plain Date: Wed, 02 Apr 2008 18:09:00 -0000 Message-Id: <1207159771.31772.124.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-7.fc7) Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-04/txt/msg00011.txt.bz2 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