From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122739 invoked by alias); 20 May 2015 04:54:54 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 122716 invoked by uid 48); 20 May 2015 04:54:53 -0000 From: "stanton at haas dot berkeley.edu" To: gdb-prs@sourceware.org Subject: [Bug gdb/18436] New: Can't print dynamically allocated global array Date: Wed, 20 May 2015 04:54:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: 7.9 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: stanton at haas dot berkeley.edu X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-q2/txt/msg00289.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=18436 Bug ID: 18436 Summary: Can't print dynamically allocated global array Product: gdb Version: 7.9 Status: NEW Severity: normal Priority: P2 Component: gdb Assignee: unassigned at sourceware dot org Reporter: stanton at haas dot berkeley.edu Target Milestone: --- If I dynamically allocate memory for an array using malloc, if the pointer is defined globally, when I ask gdb to print an element of the array I get the error message cannot subscript something of type `' Here's a very short program that demonstrates the problem. Compile with gcc -g -c -o main.o main.c gcc -o main main.o then, using gdb, step into the middle of the loop and try "print vec[0]". It works fine if the "double *vec;" line is inside main(). #include #include double *vec; int main(int argc, char *argv[]) { int i; vec = (double *) malloc((unsigned) 10*sizeof(double)); for (i=0; i<10; i++) { vec[i] = i; printf("Item %d = %15.6g\n", i, vec[i]); } free((char*) vec); return(0); } -- You are receiving this mail because: You are on the CC list for the bug.